SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
#AWScloudexperience
Patrones avanzados de implementación de
microservicios con contenedores en AWS
Bruno Laurenti
Arquitecto de Soluciones
¿Que Significa Microservicios?
Es un estilo de arquitectura de software en la cual
aplicaciones complejas se componen de pequeños servicios
independientes que se comunican utilizando APIs
agnósticas del lenguaje.
Estos servicios se encuentran desacoplados y se enfocan en
realizar pequeñas tareas, facilitando una construcción
modular de los sistemas - Wikipedia
webserver
.package
Order UI
Order Service
Inventory
Service
Shipping
Service
OrderUI
Inventory
Service
Order
Service
Shipping
Service
App Monolitica vs. Microservicios
El Desafio!
Caracteristicas de un Microservicio
Hacen muy
bien Solo
una Cosa
Independiente
Decentralizado
Caja Negra
Poliglota
Lo Construyes, Lo Operas
OrderUI
Inventory
Service v1
Order
Service
Shipping
Service
Inventory
Service v2
Y a la hora de desplegar microservicios…
Amazon logra velocidad y agilidad con Two-Pizza Teams
Lo construyes,
lo operas
Fomenta Ownership & Autonomia
Los equipos pequeños
y descentralizados
son ágiles
¿Cómo Seguimos?
¿Cómo escalamos nuestros servicios
sin morir en el intento?
http://www.androidguys.com/featured/wallpapers/7
5-hd-wallpapers-from-your-favorite-video-games/
Server
Guest OS
Bins/Libs Bins/Libs
Microservicio2Microservicio1
Escalar pocos servicios es Simple
Escalar muchos servicios… es Complicado!
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Availability Zone #1 Availability Zone #2 Availability Zone #3 Availability Zone #4
Contenedores al Rescate!
Arquitectura de un Container
• Abstraccion y control de recursos de computo como
memoria, cpu y redes mediante componentes
incluidos en el kernel.
• De una imagen base, se pueden ir agregando mediante
capas, informacion y dependencias.
• Un filesystem unifica todas las imagenes en una unica
imagen.
• Intsrucciones de ejecucion y configuracion se
encuentran en un dockerfile.
bootfs
kernel
Base Image
Image
Image
Container
References
parent
image
Contenedores en AWS
Amazon ECS
• Servicio elástico totalmente administrador. El servicio escala
conforme tu arquitectura de micro servicios lo requiera.
• Integrado con los servicios de AWS Code* para integración y
entrega continua (CI/CD) de Software.
• Monitoreo y Logs integrado con CloudWatch
Scheduling and Orchestration
Cluster Manager Placement Engine
Escalar usando ECS
Availability Zone #1 Availability Zone #2 Availability Zone #3
Componentes de Amazon ECS
Definicion de los contenedores.
• Imagen,
• CPU & Memoria, etc
Registrar una
Task Definition
Crear un
Cluster
Ejecutar una
Task
Instancia de una
definicion de tarea
Crear
Service
• Mantiene un numero deseado de tareas corriendo
• Se integrar con un ELB
• Tareas inconsistentes se reemplazan automaticamente
Elastic Load
Balancing
• Infraestructura de Computo.
• Permisos IAM
Hablemos de
Arquitectura
y Patrones
de Despliegue
1. Codebase
2. Dependencies
3. Config
4. Backing Services
5. Build, Release Run
6. Processes
7. Port Binding
8. Concurrency
9. Disposability
10. Dev/Prod parity
11. Logs
12. Admin Processes
https://12factor.net/
Twelve-Factor App
Publish metrics
Auto Scaling ECS service
Availability
Zone A
Availability
Zone B
TASK A
Add/Remove ECS
tasks
TASK C
TASK BScaling Policies
Amazon
CloudWatch
Amazon ECS
Application
Load Balancer
Escalado de Servicio Automatico
ECS Cluster
EC2 Instance EC2 Instance
TASK A
TASK B
TASK B
Amazon
DynamoDB
Amazon
S3
Roles de IAM para las Tareas
AWS
CodeCommit AWS
CodePipeline
AWS
CodeBuild
Amazon ECR
Amazon ECS
instance
Spot
Instance
AWS
CloudFormation
1. Commit Code
2. Trigger
Pipeline
3.BuildArtifact5.UpdateStack
6. Update Service
4. Push Image
Despliegue Continuo
TaskTask
Route 53
Con política
de
distribución
de carga
basada en
peso.
0%100%
Despliegue Blue-Green - Basado en DNS
Namespace: myapp.local
Service: web.myapp.local
10.0.4.5:8080, 10.0.3.6:8080
Service: app.myapp.local
10.0.6.5:8080,. 10.0.8.6:8080
AZ 1 AZ 2
app web app web
cluster: myapp
10.0.6.5:8080 10.0.8.6:8080 10.0.
3.6:8
080
10.0.
4.5:8
080
• Descubrimiento del servicio del lado del cliente
• Registro de servicio = Servidor DNS Route53
• Actualización del registro realizada por el
scheduler de ECS
• Administrado, alta disponibilidad, alta escala,
extensible
Service Discovery con Route53
g2.2xlarge t2.small g2.2xlarge g2.2xlarge
Ubicacion: Por Tipo de Instancia
g2.2xlarge t2.small t2.micro t2.medium
t2.medium t2.small g2.2xlarge
t2.small
t2.small t2.medium
us-east-1aus-east-1d
Ubicacion: Tipo de Instancia y Zona
g2.2xlarge t2.small t2.micro t2.medium
t2.medium t2.small g2.2xlarge t2.small
us-east-1aus-east-1d
g2.2xlarge t2.medium
t2.micro t2.small
us-east-1c
Ubicacion: Distribuida y por Binpack
Microservicio
s
Two-Pizza
Teams
Contenedores
Patrones
Avanzados
Ingeniero DevOps
Seguros Sura
dayala@sura.com.co
Daniel Ayala Marín
Registry
AWS
Cluster
ECS
Almacenamos las imágenes Docker ya
construidas con todo lo que necesitan
nuestros microservicios para operar. En
caso de algún inconveniente podemos
hacer uso del histórico para devolvernos a
una imagen Docker estable.
Uso Buenas practicas
• Hacer uso de Tags
• Definir el máximo histórico requerido
• Utilizar políticas de ciclos de vida para
limpieza de históricos
• Conocer los hard y soft limits
Orquestamos a través de Task definitions y
servicios la cantidad de veces que un
microservicio debe estar disponible. Así
mismo monitoreamos su comportamiento y
tomamos decisiones de Scale-out/Scale in
para soportar la demanda o la ociosidad de
nuestros servicios
• Conocer tu microservicio, capacidades
mínimas, máximas. Se logra a través de
experimentación y observación.
• Siempre recuerda actualizar tu agente
de Docker.
• Utiliza puertos aleatorios en tus
microservicios para garantizar que en
una misma instancia EC2 puedas
desplegar ese servicio varias veces.
GitBucket
Build
Pruebas
Unitarias
Creación Tags
Y push imagen docker
Cambio en
El código
Artifactory
Ciclo
Integración
continua
Registry
AWS
Fargate
AWS CLI
Jenkins
Cluster
ECS
Compliance
ü Apalancarnos del compliance de nube
ü Cumplir con regulaciones
Costos
ü Spot instances, contratos de servicio
ü Hasta un 75% de ahorro
Velocidad y Agilidad
ü Nuevos canales aliados 3 meses a 1 mes
ü Despliegue de nuevos servicios 1 semana
Overbuilding
ü Sobre dimensionar servicios
ü Limites de escalamiento
Personas y procesos
ü Cultura
ü Barreras psicológicas
On-Premises
ü Dependencias servicios Legados
ü Resolución de dominios de nube
ü No dependencia fechas criticas (CD/CI)
Nuevas Tecnologías
ü Pruebas de concepto
ü Conocimiento de las herramienta
ü Marketplace
Gestión del cambio
ü Administración compartida
ü Prender un servicio, probarlo y
apagarlo
ü Probar y Fallar
Califica nuestra charla

Weitere ähnliche Inhalte

Was ist angesagt?

AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
Amazon Web Services
 

Was ist angesagt? (20)

Servicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWSServicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWS
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidad
 
Sistema de Bases de Datos AWS
Sistema de Bases de Datos AWSSistema de Bases de Datos AWS
Sistema de Bases de Datos AWS
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
Implementando DRP en AWS
Implementando DRP en AWSImplementando DRP en AWS
Implementando DRP en AWS
 
Extendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWSExtendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWS
 
Construyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWSConstruyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWS
 
Construyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWSConstruyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWS
 
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
 
Servicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWSServicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWS
 
AWS Summit Bogotá 2015 Keynote "La Nube se ha convertido en estándar" Raul Fr...
AWS Summit Bogotá 2015 Keynote "La Nube se ha convertido en estándar" Raul Fr...AWS Summit Bogotá 2015 Keynote "La Nube se ha convertido en estándar" Raul Fr...
AWS Summit Bogotá 2015 Keynote "La Nube se ha convertido en estándar" Raul Fr...
 
Big Data: Arquitectura y mejores prácticas en AWS
Big Data: Arquitectura y mejores prácticas en AWSBig Data: Arquitectura y mejores prácticas en AWS
Big Data: Arquitectura y mejores prácticas en AWS
 
AWS Webcast - Viaje a través de la nube : la mejor manera de iniciarse en la ...
AWS Webcast - Viaje a través de la nube : la mejor manera de iniciarse en la ...AWS Webcast - Viaje a través de la nube : la mejor manera de iniciarse en la ...
AWS Webcast - Viaje a través de la nube : la mejor manera de iniciarse en la ...
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidad
 
AWS Webinar Series Latinoamérica: Cómo salir de su datacenter y modernizar la...
AWS Webinar Series Latinoamérica: Cómo salir de su datacenter y modernizar la...AWS Webinar Series Latinoamérica: Cómo salir de su datacenter y modernizar la...
AWS Webinar Series Latinoamérica: Cómo salir de su datacenter y modernizar la...
 
Introduccion a AWS
Introduccion a AWSIntroduccion a AWS
Introduccion a AWS
 
Cómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nubeCómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nube
 
Optimización de costos con los diferentes modelos de compra de servicios en l...
Optimización de costos con los diferentes modelos de compra de servicios en l...Optimización de costos con los diferentes modelos de compra de servicios en l...
Optimización de costos con los diferentes modelos de compra de servicios en l...
 
Viaje a través de la nube - ¿Qué es AWS?
Viaje a través de la nube - ¿Qué es AWS?Viaje a través de la nube - ¿Qué es AWS?
Viaje a través de la nube - ¿Qué es AWS?
 

Ähnlich wie Patrones avanzados de implementación de microservicios con Amazon ECS

Ähnlich wie Patrones avanzados de implementación de microservicios con Amazon ECS (20)

Patrones Avanzados con Microservices con Containers
Patrones Avanzados con Microservices con ContainersPatrones Avanzados con Microservices con Containers
Patrones Avanzados con Microservices con Containers
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric
 
Meetup AWS User Group chile - Diciembre 2018
Meetup AWS User Group chile - Diciembre 2018Meetup AWS User Group chile - Diciembre 2018
Meetup AWS User Group chile - Diciembre 2018
 
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWS
 
Microservicios con ASP.NET Core
Microservicios con ASP.NET CoreMicroservicios con ASP.NET Core
Microservicios con ASP.NET Core
 
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...
 
Web App Container
Web App ContainerWeb App Container
Web App Container
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 
Derribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayDerribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev Day
 
Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...
Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...
Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...
 
[webinar]: Seguridad en ambientes cloud | Capitulo VI
[webinar]: Seguridad en ambientes cloud | Capitulo VI[webinar]: Seguridad en ambientes cloud | Capitulo VI
[webinar]: Seguridad en ambientes cloud | Capitulo VI
 
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architecture
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
 
Santiago de Chile - Seguridad Continua en Cloud Computing
Santiago de Chile - Seguridad Continua en Cloud ComputingSantiago de Chile - Seguridad Continua en Cloud Computing
Santiago de Chile - Seguridad Continua en Cloud Computing
 
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
 
Containers
ContainersContainers
Containers
 
Docker 10 02_18
Docker 10 02_18Docker 10 02_18
Docker 10 02_18
 
BBVA Arquitectura - Demo DevOps
BBVA Arquitectura - Demo DevOpsBBVA Arquitectura - Demo DevOps
BBVA Arquitectura - Demo DevOps
 

Mehr von Amazon Web Services LATAM

Mehr von Amazon Web Services LATAM (20)

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 

Kürzlich hochgeladen

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Kürzlich hochgeladen (12)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Patrones avanzados de implementación de microservicios con Amazon ECS

  • 2. Patrones avanzados de implementación de microservicios con contenedores en AWS Bruno Laurenti Arquitecto de Soluciones
  • 3.
  • 4. ¿Que Significa Microservicios? Es un estilo de arquitectura de software en la cual aplicaciones complejas se componen de pequeños servicios independientes que se comunican utilizando APIs agnósticas del lenguaje. Estos servicios se encuentran desacoplados y se enfocan en realizar pequeñas tareas, facilitando una construcción modular de los sistemas - Wikipedia
  • 6. Caracteristicas de un Microservicio Hacen muy bien Solo una Cosa Independiente Decentralizado Caja Negra Poliglota Lo Construyes, Lo Operas
  • 8. Amazon logra velocidad y agilidad con Two-Pizza Teams Lo construyes, lo operas Fomenta Ownership & Autonomia Los equipos pequeños y descentralizados son ágiles
  • 10. ¿Cómo escalamos nuestros servicios sin morir en el intento? http://www.androidguys.com/featured/wallpapers/7 5-hd-wallpapers-from-your-favorite-video-games/
  • 12. Escalar muchos servicios… es Complicado! Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Availability Zone #1 Availability Zone #2 Availability Zone #3 Availability Zone #4
  • 14. Arquitectura de un Container • Abstraccion y control de recursos de computo como memoria, cpu y redes mediante componentes incluidos en el kernel. • De una imagen base, se pueden ir agregando mediante capas, informacion y dependencias. • Un filesystem unifica todas las imagenes en una unica imagen. • Intsrucciones de ejecucion y configuracion se encuentran en un dockerfile. bootfs kernel Base Image Image Image Container References parent image
  • 16. Amazon ECS • Servicio elástico totalmente administrador. El servicio escala conforme tu arquitectura de micro servicios lo requiera. • Integrado con los servicios de AWS Code* para integración y entrega continua (CI/CD) de Software. • Monitoreo y Logs integrado con CloudWatch
  • 17. Scheduling and Orchestration Cluster Manager Placement Engine Escalar usando ECS Availability Zone #1 Availability Zone #2 Availability Zone #3
  • 18. Componentes de Amazon ECS Definicion de los contenedores. • Imagen, • CPU & Memoria, etc Registrar una Task Definition Crear un Cluster Ejecutar una Task Instancia de una definicion de tarea Crear Service • Mantiene un numero deseado de tareas corriendo • Se integrar con un ELB • Tareas inconsistentes se reemplazan automaticamente Elastic Load Balancing • Infraestructura de Computo. • Permisos IAM
  • 20. 1. Codebase 2. Dependencies 3. Config 4. Backing Services 5. Build, Release Run 6. Processes 7. Port Binding 8. Concurrency 9. Disposability 10. Dev/Prod parity 11. Logs 12. Admin Processes https://12factor.net/ Twelve-Factor App
  • 21. Publish metrics Auto Scaling ECS service Availability Zone A Availability Zone B TASK A Add/Remove ECS tasks TASK C TASK BScaling Policies Amazon CloudWatch Amazon ECS Application Load Balancer Escalado de Servicio Automatico
  • 22. ECS Cluster EC2 Instance EC2 Instance TASK A TASK B TASK B Amazon DynamoDB Amazon S3 Roles de IAM para las Tareas
  • 23. AWS CodeCommit AWS CodePipeline AWS CodeBuild Amazon ECR Amazon ECS instance Spot Instance AWS CloudFormation 1. Commit Code 2. Trigger Pipeline 3.BuildArtifact5.UpdateStack 6. Update Service 4. Push Image Despliegue Continuo
  • 24. TaskTask Route 53 Con política de distribución de carga basada en peso. 0%100% Despliegue Blue-Green - Basado en DNS
  • 25. Namespace: myapp.local Service: web.myapp.local 10.0.4.5:8080, 10.0.3.6:8080 Service: app.myapp.local 10.0.6.5:8080,. 10.0.8.6:8080 AZ 1 AZ 2 app web app web cluster: myapp 10.0.6.5:8080 10.0.8.6:8080 10.0. 3.6:8 080 10.0. 4.5:8 080 • Descubrimiento del servicio del lado del cliente • Registro de servicio = Servidor DNS Route53 • Actualización del registro realizada por el scheduler de ECS • Administrado, alta disponibilidad, alta escala, extensible Service Discovery con Route53
  • 26. g2.2xlarge t2.small g2.2xlarge g2.2xlarge Ubicacion: Por Tipo de Instancia
  • 27. g2.2xlarge t2.small t2.micro t2.medium t2.medium t2.small g2.2xlarge t2.small t2.small t2.medium us-east-1aus-east-1d Ubicacion: Tipo de Instancia y Zona
  • 28. g2.2xlarge t2.small t2.micro t2.medium t2.medium t2.small g2.2xlarge t2.small us-east-1aus-east-1d g2.2xlarge t2.medium t2.micro t2.small us-east-1c Ubicacion: Distribuida y por Binpack
  • 31.
  • 32.
  • 33.
  • 34. Registry AWS Cluster ECS Almacenamos las imágenes Docker ya construidas con todo lo que necesitan nuestros microservicios para operar. En caso de algún inconveniente podemos hacer uso del histórico para devolvernos a una imagen Docker estable. Uso Buenas practicas • Hacer uso de Tags • Definir el máximo histórico requerido • Utilizar políticas de ciclos de vida para limpieza de históricos • Conocer los hard y soft limits Orquestamos a través de Task definitions y servicios la cantidad de veces que un microservicio debe estar disponible. Así mismo monitoreamos su comportamiento y tomamos decisiones de Scale-out/Scale in para soportar la demanda o la ociosidad de nuestros servicios • Conocer tu microservicio, capacidades mínimas, máximas. Se logra a través de experimentación y observación. • Siempre recuerda actualizar tu agente de Docker. • Utiliza puertos aleatorios en tus microservicios para garantizar que en una misma instancia EC2 puedas desplegar ese servicio varias veces.
  • 35. GitBucket Build Pruebas Unitarias Creación Tags Y push imagen docker Cambio en El código Artifactory Ciclo Integración continua Registry AWS Fargate AWS CLI Jenkins Cluster ECS
  • 36. Compliance ü Apalancarnos del compliance de nube ü Cumplir con regulaciones Costos ü Spot instances, contratos de servicio ü Hasta un 75% de ahorro Velocidad y Agilidad ü Nuevos canales aliados 3 meses a 1 mes ü Despliegue de nuevos servicios 1 semana Overbuilding ü Sobre dimensionar servicios ü Limites de escalamiento Personas y procesos ü Cultura ü Barreras psicológicas On-Premises ü Dependencias servicios Legados ü Resolución de dominios de nube ü No dependencia fechas criticas (CD/CI) Nuevas Tecnologías ü Pruebas de concepto ü Conocimiento de las herramienta ü Marketplace Gestión del cambio ü Administración compartida ü Prender un servicio, probarlo y apagarlo ü Probar y Fallar