SlideShare una empresa de Scribd logo
1 de 39
© 2015, Amazon Web Services, Inc. o sus empresas afiliadas. Todos los
derechos reservados.
Jesús Humberto Contreras Rancurello
Arquitecto de Soluciones, AWS México
jesushum@amazon.com
Junio del 2017
Introducción a Docker en AWS
Agenda
¿Por qué se usan contenedores?
Administración de clústeres
Beneficios
Ejecución de los servicios
Demostración
¿Por qué se usan
contenedores?
¿Qué son los contenedores?
Virtualización de SO
Aislamiento de procesos
Imágenes
AutomatizaciónServidor
SO invitado
Recipientes/
bibliotecas
Recipientes/
bibliotecas
Apl. 2Apl. 1
Ventajas de los contenedores
Portabilidad
Flexibilidad
Rapidez
EficaciaServidor
SO invitado
Recipientes/
bibliotecas
Recipientes/
bibliotecas
Apl. 2Apl. 1
Evolución de los servicios para convertirse en
microservicios
Aplicación monolítica
IU de
pedidos
IU de
usuarios
IU de
envíos
Servicio
de pedidos
Servicio
de usuarios
Servicio
de envíos
Acceso
a los datos
Host 1
Servicio A
Servicio B
Host 2
Servicio B
Servicio D
Host 3
Servicio A
Servicio C
Host 4
Servicio B
Servicio C
Contenedores: un sistema natural para los microservicios
Modelado sencillo
Cualquier aplicación, cualquier lenguaje
La imagen es la versión
Se prueba e implementa la misma imagen
Los servidores sin estado reducen el riesgo en un cambio
Servidor
SO invitado
Recipientes/
bibliotecas
Recipientes/
bibliotecas
Apl. 2Apl. 1
Calendarizar un recurso es sencillo
Calendarizar un clúster es complicado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Administración de clústeres
Administración de clústeres: administración
de recursos
Docker
Tarea
Instancia de EC2
Contenedor
Docker
Tarea
Instancia de EC2
Contenedor
Tarea
Contenedor
Docker
Instancia de EC2
Tarea
Contenedor
AZ 1 AZ 2
Administración de clústeres: Calendarización
Docker
Tarea
Instancia de EC2
Contenedor
Docker
Tarea
Instancia de EC2
Contenedor
Tarea
Contenedor
Docker
Instancia de EC2
Tarea
Contenedor
AZ 1 AZ 2
Amazon ECS: administración de recursos
Docker
Tarea
Instancia de contenedor
Contenedor
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Tarea
Contenedor
AZ 1 AZ 2
Motor de administración de clústeres
Amazon ECS: Comunicación con los agentes
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
AZ 1 AZ 2
Motor de administración de clústeres
Servicio de comunicación con los agentes
Amazon ECS: Almacén de llave/valor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
ELB
Internet
ELB
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
AZ 1 AZ 2
Almacén de clave/valor
Motor de administración de clústeres
Servicio de comunicación con los agentes
Amazon ECS: API
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
ELB
Internet
ELB
Usuario/
programador
API
Motor de administración de clústeres
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
AZ 1 AZ 2
Almacén de clave/valor
Servicio de comunicación con los agentes
Amazon ECS: Calendarización
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
ELB
Internet
ELB
Usuario/
calendarizador
API
Motor de administración de clústeres
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
AZ 1 AZ 2
Almacén de clave/valor
Servicio de comunicación con los agentes
Amazon ECS: Calendarización
Amazon ECS: programación
Amazon ECS: programación
Amazon ECS: programación
Beneficios
Gestión sencilla de clústeres a cualquier escala
Nada que ejecutar
Estado completado
Control y monitorización
Escalado
Escalabilidad
Diseñado para utilizarse con otros servicios
de AWS
Elastic Load Balancing
Amazon Elastic Block Store (EBS)
Amazon Virtual Private Cloud
Amazon CloudWatch
AWS Identity and Access Management (IAM)
AWS CloudTrail
Extensibilidad
API completas
Calendarizadores personalizados
Agente y CLI de código abierto
Amazon ECS
Docker
Tarea
Instancia de contenedor
Amazon
ECS
Contenedor
Agente de ECS
ELB
Internet
ELB
Usuario/
programador
API
Motor de administración de clústeres
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
AZ 1 AZ 2
Almacén de clave/valor
Servicio de comunicación con los agentes
Ejecutando servicios
Definiciones de tareas
Definiciones de volúmenes
Definiciones de contenedores
Componentes principales: definiciones de tareas
Componentes principales: definiciones de tareas
Tareas
Volumen de datos
compartido
Contenedores
Calendarización
Instancia de
contenedor
Definiciones de volúmenes
Definiciones de contenedores
Unidad de trabajo
Agrupación de contenedores
1:N Contenedores
Ejecutar en instancias de contenedor
Tareas
Creación de un servicio
Adecuado para
aplicaciones y servicios
de ejecución prolongada
Creación de un servicio
Balance de carga del tráfico entre contenedores
Recuperación automática de contenedores que no funcionan
correctamente
Elastic Load Balancing
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
Servicios escalables
Escalado ascendente
Escalado descendente
Elastic Load Balancing
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
Actualización de servicio
Implementación de nueva versión
Vaciado de conexiones
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
nuevo nuevo nuevo
Elastic Load Balancing
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
anterior anterior anterior
Demo
¡Gracias!
Jesús Humberto Contreras Rancurello
Arquitecto de Soluciones, AWS México
jesushum@amazon.com

Más contenido relacionado

La actualidad más candente

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 usuariosAmazon Web Services LATAM
 
AWS Summit Bogotá Track Básico: Arquitectura para alta disponibilidad en AWS
AWS Summit Bogotá Track Básico: Arquitectura para alta disponibilidad en AWSAWS Summit Bogotá Track Básico: Arquitectura para alta disponibilidad en AWS
AWS Summit Bogotá Track Básico: Arquitectura para alta disponibilidad en AWSAmazon Web Services
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSAmazon Web Services LATAM
 
Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2
Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2
Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2Amazon Web Services LATAM
 
Creando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWSCreando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWSAmazon Web Services LATAM
 
AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires
AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos AiresAWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires
AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos AiresAmazon Web Services LATAM
 
Servicios de Bases de Datos administradas en AWS
Servicios de Bases de Datos administradas en AWS Servicios de Bases de Datos administradas en AWS
Servicios de Bases de Datos administradas en AWS Amazon Web Services LATAM
 
Planeando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWSPlaneando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWSAmazon Web Services LATAM
 
Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2
Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2
Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2Amazon Web Services LATAM
 

La actualidad más candente (20)

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
 
AWS Summit Bogotá Track Básico: Arquitectura para alta disponibilidad en AWS
AWS Summit Bogotá Track Básico: Arquitectura para alta disponibilidad en AWSAWS Summit Bogotá Track Básico: Arquitectura para alta disponibilidad en AWS
AWS Summit Bogotá Track Básico: Arquitectura para alta disponibilidad en AWS
 
Comenzando con Docker en AWS
Comenzando con Docker en AWSComenzando con Docker en AWS
Comenzando con Docker en AWS
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWS
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
Construyendo aplicaciones para IoT con AWS
Construyendo aplicaciones para IoT con AWSConstruyendo aplicaciones para IoT con AWS
Construyendo aplicaciones para IoT con AWS
 
Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2
Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2
Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2
 
Comenzando con Docker en AWS
Comenzando con Docker en AWSComenzando con Docker en AWS
Comenzando con Docker en AWS
 
Servicios de Storage en AWS
Servicios de Storage en AWSServicios de Storage en AWS
Servicios de Storage en AWS
 
Creando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWSCreando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWS
 
Optimizacion de costos a gran escala
Optimizacion de costos a gran escalaOptimizacion de costos a gran escala
Optimizacion de costos a gran escala
 
DevOps en AWS
DevOps en AWSDevOps en AWS
DevOps en AWS
 
Construyendo aplicaciones para IoT con AWS
Construyendo aplicaciones para IoT con AWSConstruyendo aplicaciones para IoT con AWS
Construyendo aplicaciones para IoT con AWS
 
EC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidadEC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidad
 
Instancias Amazon EC2 a profundidad
Instancias Amazon EC2 a profundidadInstancias Amazon EC2 a profundidad
Instancias Amazon EC2 a profundidad
 
AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires
AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos AiresAWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires
AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires
 
Servicios de Bases de Datos administradas en AWS
Servicios de Bases de Datos administradas en AWS Servicios de Bases de Datos administradas en AWS
Servicios de Bases de Datos administradas en AWS
 
Planeando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWSPlaneando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWS
 
Servicios de Storage de AWS
Servicios de Storage de AWSServicios de Storage de AWS
Servicios de Storage de AWS
 
Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2
Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2
Optimizando cargas de trabajo en SAP Hana con instancias x1 de Amazon EC2
 

Similar a Introduccion a Docker

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 2018Gonzalo Vásquez
 
Patrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECSPatrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECSAmazon Web Services LATAM
 
.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 FabricGuillermo Javier Bellmann
 
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...Amazon Web Services LATAM
 
Patrones Avanzados con Microservices con Containers
Patrones Avanzados con Microservices con ContainersPatrones Avanzados con Microservices con Containers
Patrones Avanzados con Microservices con ContainersAmazon Web Services LATAM
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Eduardo Castro
 
Micro vs Nano (servicios)
Micro vs Nano (servicios)Micro vs Nano (servicios)
Micro vs Nano (servicios)Pedro J. Molina
 
Serverless application repository
Serverless application repositoryServerless application repository
Serverless application repositoryPaola Velazquez
 
Arquitecturas Serverless com IoT, Machine Learning y Assistente de Voz en Prá...
Arquitecturas Serverless com IoT, Machine Learning y Assistente de Voz en Prá...Arquitecturas Serverless com IoT, Machine Learning y Assistente de Voz en Prá...
Arquitecturas Serverless com IoT, Machine Learning y Assistente de Voz en Prá...Amazon Web Services LATAM
 
Webinar: introduction to cloud computing
Webinar:  introduction to cloud computingWebinar:  introduction to cloud computing
Webinar: introduction to cloud computingAmazon Web Services
 
dockerize.it
dockerize.itdockerize.it
dockerize.itbetabeers
 
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...Guillermo Javier Bellmann
 

Similar a Introduccion a Docker (20)

Comenzando con Docker en AWS
Comenzando con Docker en AWSComenzando con Docker en AWS
Comenzando con Docker en AWS
 
Comenzando con Docker en AWS
Comenzando con Docker en AWSComenzando con Docker en AWS
Comenzando con Docker en AWS
 
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
 
Patrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECSPatrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECS
 
.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
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
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...
 
Construyedo Aplicaciones Serverless
Construyedo Aplicaciones ServerlessConstruyedo Aplicaciones Serverless
Construyedo Aplicaciones Serverless
 
Patrones Avanzados con Microservices con Containers
Patrones Avanzados con Microservices con ContainersPatrones Avanzados con Microservices con Containers
Patrones Avanzados con Microservices con Containers
 
Formación Aws Incubio
Formación Aws Incubio Formación Aws Incubio
Formación Aws Incubio
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker
 
Micro vs Nano (servicios)
Micro vs Nano (servicios)Micro vs Nano (servicios)
Micro vs Nano (servicios)
 
Serverless application repository
Serverless application repositoryServerless application repository
Serverless application repository
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
Construyendo aplicaciones Serverless
Construyendo aplicaciones ServerlessConstruyendo aplicaciones Serverless
Construyendo aplicaciones Serverless
 
Arquitecturas Serverless com IoT, Machine Learning y Assistente de Voz en Prá...
Arquitecturas Serverless com IoT, Machine Learning y Assistente de Voz en Prá...Arquitecturas Serverless com IoT, Machine Learning y Assistente de Voz en Prá...
Arquitecturas Serverless com IoT, Machine Learning y Assistente de Voz en Prá...
 
Webinar: introduction to cloud computing
Webinar:  introduction to cloud computingWebinar:  introduction to cloud computing
Webinar: introduction to cloud computing
 
dockerize.it
dockerize.itdockerize.it
dockerize.it
 
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...
 

Más de Amazon Web Services LATAM

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 à nuvemAmazon Web Services LATAM
 
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 BackupAmazon Web Services LATAM
 
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.Amazon Web Services LATAM
 
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 à nuvemAmazon Web Services LATAM
 
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 BackupAmazon Web Services LATAM
 
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.Amazon Web Services LATAM
 
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 AWSAmazon Web Services LATAM
 
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 AWSAmazon Web Services LATAM
 
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 AWSAmazon Web Services LATAM
 
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 AWSAmazon Web Services LATAM
 
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 AWSAmazon Web Services LATAM
 
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 AWSAmazon Web Services LATAM
 
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 administradosAmazon Web Services LATAM
 
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 AWSAmazon Web Services LATAM
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSAmazon Web Services LATAM
 

Más de 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
 
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
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWS
 

Último

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 

Último (20)

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 

Introduccion a Docker

  • 1. © 2015, Amazon Web Services, Inc. o sus empresas afiliadas. Todos los derechos reservados. Jesús Humberto Contreras Rancurello Arquitecto de Soluciones, AWS México jesushum@amazon.com Junio del 2017 Introducción a Docker en AWS
  • 2. Agenda ¿Por qué se usan contenedores? Administración de clústeres Beneficios Ejecución de los servicios Demostración
  • 3. ¿Por qué se usan contenedores?
  • 4. ¿Qué son los contenedores? Virtualización de SO Aislamiento de procesos Imágenes AutomatizaciónServidor SO invitado Recipientes/ bibliotecas Recipientes/ bibliotecas Apl. 2Apl. 1
  • 5. Ventajas de los contenedores Portabilidad Flexibilidad Rapidez EficaciaServidor SO invitado Recipientes/ bibliotecas Recipientes/ bibliotecas Apl. 2Apl. 1
  • 6. Evolución de los servicios para convertirse en microservicios Aplicación monolítica IU de pedidos IU de usuarios IU de envíos Servicio de pedidos Servicio de usuarios Servicio de envíos Acceso a los datos Host 1 Servicio A Servicio B Host 2 Servicio B Servicio D Host 3 Servicio A Servicio C Host 4 Servicio B Servicio C
  • 7. Contenedores: un sistema natural para los microservicios Modelado sencillo Cualquier aplicación, cualquier lenguaje La imagen es la versión Se prueba e implementa la misma imagen Los servidores sin estado reducen el riesgo en un cambio
  • 9. Calendarizar un clúster es complicado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado Servidor SO invitado
  • 11. Administración de clústeres: administración de recursos Docker Tarea Instancia de EC2 Contenedor Docker Tarea Instancia de EC2 Contenedor Tarea Contenedor Docker Instancia de EC2 Tarea Contenedor AZ 1 AZ 2
  • 12. Administración de clústeres: Calendarización Docker Tarea Instancia de EC2 Contenedor Docker Tarea Instancia de EC2 Contenedor Tarea Contenedor Docker Instancia de EC2 Tarea Contenedor AZ 1 AZ 2
  • 13. Amazon ECS: administración de recursos Docker Tarea Instancia de contenedor Contenedor Tarea Contenedor Docker Tarea Instancia de contenedor Contenedor Tarea Contenedor Docker Tarea Instancia de contenedor Contenedor Tarea Contenedor AZ 1 AZ 2 Motor de administración de clústeres
  • 14. Amazon ECS: Comunicación con los agentes Docker Tarea Instancia de contenedor Contenedor Agente de ECS Tarea Contenedor Docker Tarea Instancia de contenedor Contenedor Agente de ECS Tarea Contenedor Docker Tarea Instancia de contenedor Contenedor Agente de ECS Tarea Contenedor AZ 1 AZ 2 Motor de administración de clústeres Servicio de comunicación con los agentes
  • 15. Amazon ECS: Almacén de llave/valor Docker Tarea Instancia de contenedor Contenedor Agente de ECS ELB Internet ELB Tarea Contenedor Docker Tarea Instancia de contenedor Contenedor Agente de ECS Tarea Contenedor Docker Tarea Instancia de contenedor Contenedor Agente de ECS Tarea Contenedor AZ 1 AZ 2 Almacén de clave/valor Motor de administración de clústeres Servicio de comunicación con los agentes
  • 16. Amazon ECS: API Docker Tarea Instancia de contenedor Contenedor Agente de ECS ELB Internet ELB Usuario/ programador API Motor de administración de clústeres Tarea Contenedor Docker Tarea Instancia de contenedor Contenedor Agente de ECS Tarea Contenedor Docker Tarea Instancia de contenedor Contenedor Agente de ECS Tarea Contenedor AZ 1 AZ 2 Almacén de clave/valor Servicio de comunicación con los agentes
  • 17. Amazon ECS: Calendarización Docker Tarea Instancia de contenedor Contenedor Agente de ECS ELB Internet ELB Usuario/ calendarizador API Motor de administración de clústeres Tarea Contenedor Docker Tarea Instancia de contenedor Contenedor Agente de ECS Tarea Contenedor Docker Tarea Instancia de contenedor Contenedor Agente de ECS Tarea Contenedor AZ 1 AZ 2 Almacén de clave/valor Servicio de comunicación con los agentes
  • 23. Gestión sencilla de clústeres a cualquier escala Nada que ejecutar Estado completado Control y monitorización Escalado
  • 25. Diseñado para utilizarse con otros servicios de AWS Elastic Load Balancing Amazon Elastic Block Store (EBS) Amazon Virtual Private Cloud Amazon CloudWatch AWS Identity and Access Management (IAM) AWS CloudTrail
  • 27. Amazon ECS Docker Tarea Instancia de contenedor Amazon ECS Contenedor Agente de ECS ELB Internet ELB Usuario/ programador API Motor de administración de clústeres Tarea Contenedor Docker Tarea Instancia de contenedor Contenedor Agente de ECS Tarea Contenedor Docker Tarea Instancia de contenedor Contenedor Agente de ECS Tarea Contenedor AZ 1 AZ 2 Almacén de clave/valor Servicio de comunicación con los agentes
  • 29. Definiciones de tareas Definiciones de volúmenes Definiciones de contenedores
  • 32. Tareas Volumen de datos compartido Contenedores Calendarización Instancia de contenedor Definiciones de volúmenes Definiciones de contenedores
  • 33. Unidad de trabajo Agrupación de contenedores 1:N Contenedores Ejecutar en instancias de contenedor Tareas
  • 34. Creación de un servicio Adecuado para aplicaciones y servicios de ejecución prolongada
  • 35. Creación de un servicio Balance de carga del tráfico entre contenedores Recuperación automática de contenedores que no funcionan correctamente Elastic Load Balancing Volumen de datos compartido Contenedores Volumen de datos compartido Contenedores Volumen de datos compartido Contenedores
  • 36. Servicios escalables Escalado ascendente Escalado descendente Elastic Load Balancing Volumen de datos compartido Contenedores Volumen de datos compartido Contenedores Volumen de datos compartido Contenedores Volumen de datos compartido Contenedores
  • 37. Actualización de servicio Implementación de nueva versión Vaciado de conexiones Volumen de datos compartido Contenedores Volumen de datos compartido Contenedores Volumen de datos compartido Contenedores nuevo nuevo nuevo Elastic Load Balancing Volumen de datos compartido Contenedores Volumen de datos compartido Contenedores Volumen de datos compartido Contenedores anterior anterior anterior
  • 38. Demo
  • 39. ¡Gracias! Jesús Humberto Contreras Rancurello Arquitecto de Soluciones, AWS México jesushum@amazon.com

Notas del editor

  1. Vamos a hablar acerca de los contenedores y por qué probablemente quieras utilizarlos. Entender para que son y como las demas personas los utilizan. Y después como puedes utilizarlos a gran escala. Hablaremos sobre Amazon ECS, que te entrega administración de clústers Y tendremos al final una demo con la CLI y también con la consola de ECS
  2. Los contenedores son muy similares a virtualización de hardware, por ejemplo EC2. En vez de particionar un host físico en múltiples máquinas virtuales, un contenedor aisla el proceso a ejecutar en un único sistema operativo Para hacerlo, docker utiliza algunas propiedades del kernel del sistema operativo en el que vive. Con esto crear muchos procesos basados en usuarios. Tu puedes poner límites en estos procesos como por ejemplo, cuanta memoria o CPU puede este proceso utilizar Además puedes aislar rutas del sistema, archivos o unidades de disco enteras en tu SO base para que este proceso no pueda verlas Docker provee un sistema de imágenes para que de forma sencilla puedas definir que corre en donde (por ejemplo, que versión de tu aplicación corre en qué contenedor) Todo esto puede ser auomatizado ya que, si tienes la imágen de tu aplicación puedes hacer tareas repetitivas con ella.
  3. Pues casi todo lo platicado me lo provee una máquina virtual. Entonces, para qué aprender docker? Existen cuatro beneficios principales: Portable: Donde sea que ejecutes tu imagen, funcionará exactamente igual. Funciona igual en tu laptop local o en tu ambiente productivo. La imagen es la versión, por lo que es mas sencilla de administrar vs todo un SO Puedes crear y recrear tus ambientes ya que es modular. Podemos hablar de microservicios al descomponer una aplicación en múltiples servicios que, en conjunto realizan una actividad completa. Cada servicio puede verse como un contenedor Los contenedores son ràpidos tanto en inicializarse pero también te permiten que tus equipos de desarrollo se muevan mas rápido en términos de implementación y mejoras La meta es descomponer la aplicación tanto como sea posible para reducir dependencia entre diferentes procesos.
  4. Para demostrar un poco como una arquitectura de microservicios te puede ayudar a escalar de una mejor manera y moverte mas rápido. Les tengo una historia: Amazon.com, este negocio de venta de productos en línea tenía una arquitectura monolítica hace unos 12 años. Todo, desde el servidor web hasta la interfaz de usuario, los sistemas de órdenes, el carrito de compra, el motor de recomendaciones y mucho mas… todo esto era un único código fuente enorme Existia mucha interdepencencia entre cada uno de estos “mini sistemas” y esto hacia que escalar el sitio web fuera una tarea complicadísima Para escalar mejor, Amazon hizo una descomposición de su arquitectura en servicios separados. Habilitó el uso de equipos de trabajo mas pequeños y enfocados en un servicio en particular, haciéndolos mucho mas eficientes Nuevos releases o actualizaciones podian entregarse mas rápidamente de forma independiente Esta es la arquitectura que hoy llamamos microservicios.
  5. Los contenedores siguen una línea natural para crear arquitecturas de microservicios Hace mucho mas sencillo modelar una aplicación y sus dependencias para empaquetarlas en algo llamado “docker file”. Al final esa “imagen” es una vesión de tu microservicio. Esta imagen puede ser guardada en un repositorio, como si fuera código fuente. Por ejemplo puedes guardarlo github o el servicio de repositorios de AWS (ECR) Así que es muy sencillo probarlo y ejecutarlo. Una nueva implementación es igual a un nuevo set de contenedores sin importar el server base Recuerden que la meta es descomponer la aplicación tanto como sea posible para reducir dependencia entre diferentes procesos.
  6. Utilizar la CLI de docker es muy sencillo. Podemos pasar de tener código fuente y un docker file a una imagen corriendo en muy poco tiempo Cuando estás en tu laptop, comenzar a correrlo es muy sencillo… pero cuando tienes muchas imágenes corriendo (cambio de slide)
  7. Y tu ambiente de microservicios comienza a verse así, probablemente estés corriendo un clúster. La administración de un clúster de contenedores no es algo trivial Necesitamos una manera de ubicar nuestros contenedores en las instancias que tienen los recursos suficientes para ejecutar las tareas de dicho contenedor Para hacerlo de manera inteligente, necesitas conocer el estado de todo en tu sistema… por ejemplo, cuales instancias en mi clúster están saludables y tienen X o Y capacidad disponible. Como saber si un contenedor ya no está funcionando o si necesita obtener datos digamos, de un servicio de balanceo de cargas. Como insertar a la ecuación herramientas de integración contínua que ya nuestros clientes utilizan? o un calendarizador de terceros? Estas son algunas de las muchas preguntas que nuestros clientes tienen todos los dias
  8. Y bueno, para responder algunas de esas preguntas, hablemos mas a fondo acerca de ellas.
  9. Algo muy importante a tener en un clúster es un manejador de recursos (o un scheduler), responsible por dar seguimiento a todos tus recursos
  10. Para calendarizar contenedores de la mejor manera, necesitas conocer los límites de cada recurso que conforma tu clúster, por ejemplo CPU y memoria)
  11. Amazon ECS provee una solución para la administración de tu clúster Básicamente se tiene un motor de administración del clúster como backend que coordina todas las instancias EC2 que conforman tu clúster ECS Si lo ves como un clúster solo es un pool de CPU, RAM y espacio en disco, listo para que tus contenedores lo utilicen.
  12. A estas instancias EC2 que conforman tu clúster ECS se les preinstaló un agente de ECS pero tu eres dueño de estas instancias. Incluso puedes conectarte vía ssh a ellas Este cluster es escalable. Es posible tener un cluster de una instancia o de 100 o 1000 instancias Generalmente nuestros clientes utilizan un clúster para separar ambientes (por ejemplo, Pruebas, desarrollo, QA, producción) Es bueno comentarles que este agente ECS es de código abierto. Está escrito en GO y está disponible para que ustedes lo descarguen
  13. Hablando mas a fondo sobre el agente de ECS, necesitamos tener una repositorio de datos en donde tener la información completa sobre el clúster: Todas las tareas que corren en las instancias Los contenedores que crean las tareas Los recursos disponibles para nuevas tareas Toda esta información se llama “estado del clúster” y se guarda en una base de datos no relacional, tipo llave/valor en AWS
  14. Otro dato único de la arquitectura de ECS es que nosotros desacoplamos el calendarizador de contenedores de la administración del clúster. Toda la información del clúster está disponible para el administrador a través de las APIs del calendarzador
  15. Como comenté hace un momento, un calendarizador provee lógica para saber como, cuando y donde inicializar y detener contenedores La arquitectura de ECS está diseñada para compartir el estado del clúster y con ello te permite ejecutar cualquier scheduler que requieras o con el que ya te sientas cómodo
  16. Hablando un poco mas sobre calendarización Con ECS cada calendarizador puede de forma periódica solicitar información sobre el estado del clúster Esto lo hace por ejemplo para validar que los recursos estén disponibles y/o para tomar decisiones sobre donde ejecutar una nueva tarea
  17. Una vez el calendarizador ejecute una acción (en este caso, coloque una tarea nueva en el clúster), va a actualizar el estado del cluster con nueva información
  18. Si otro calendarizador ejecutó una acción que tomó recursos que el viejo calendarizador necesitaba, la transacción será rechazada por el sistema interno de concurrencia de ECS
  19. Entonces, prácticamente lo que permite hacer ECS es compartir el estado del clúster para todos los calendarizadores que así lo requieran en el momento que lo requieran
  20. Eso suena muy padre, pero cuales son los beneficios principales que nos ofrece ECS?
  21. Nosotros desarrollamos ECS debido a que nuestros clientes habían estado ejecutando imágenes docker en EC2 pero era muy dificil administrarlos Ellos solicitaban una manera mas sencilla… algo como un software de administración de un clúster de docker Entonces, con ECS podemos Administrar un clúster de instancias EC2 Conocer el estado del clúster en cualquier momento Monitoreo granular Escalar desde uno a 100 o miles de contenedores ejecutandose
  22. En la gráfica mostrada podemos ver en un periodo de 3 dias, Linea azul, el número de instancias EC2 Linea verde y roja son el P99 y P50 de latencia encontrada en nuestros servicios corriendo en los contenedores que se encuentran siendo ejecutados por (en algún momento) más de 1000 instancias EC2 que conforman nuestro clúster ECS Esto demuestra que no existe aumento de latencia mientras se agregan instancias EC2 a nuestro clúster
  23. ECS está hecho para trabajar de manera transparente con otros servicios de AWS que probablemente ya estén utilizando, por ejemplo un balanceador de carga, almacenamiento EBS o un rol de identidad en IAM Puedes lanzar un clúster dentro de tu VPC y utilizar grupos de seguridad para controlar la red Además con Cloudtrail puedes capturar todos los accesos via API para tener análisis de seguridad y cumplimiento de auditorias. Puedes hacer seguimiento de cambios y muchas cosas más
  24. Hablando un poco mas sobre extensibilidad, Utilizando las APIs del servicio encontrarás comandos como “listar, describir o ejecutar”, mismas que pueden sonarte bastante familiares si ya utilizas EC2 Como hemos comentado, puedes utilizar cualquier calendarizador debido a las APIs abiertas del servicio Y recapitulando, el agente de ECS y la CLI es de código abierto.
  25. Para sumarizar todo lo que hemos platicado, ECS te permite pasar de la idea a la ejecución muy rápido cuando hablamos de sistemas altamente distribuidos y microservicios Asi que, si quieres un cluster de contenedores sin necesidad de administrar el clúster tu mismo, ECS es la respuesta
  26. Y hablando de servicios, como se ejecutan en Amazon ECS?
  27. Lo primero que debemos hacer es modelar nuestra aplicación utilizando un archivo llamado Definición de tarea, o Task Definition. En esta tarea se definen los contenedores a ejecutar juntos Esta definición de tarea puede ser rastreada utilizando su nombre y número de revisión… algo así como su versión Lo importante a recordar es que: si necesitas múltiples contenedores trabajando juntos como parte de una aplicación y es necesario que todos se ejecuten en la misma instancia, debes definirlos en una definición de tarea juntos
  28. Para crear una definición de tarea puedes utilizar la consola para especificar la imágen de docker a utilizar para los contenedores Puedes también especificar recursos como CPU o Memoria, puertos, volúmenes Y también puedes especificar que comando ejecutar cuando el contenedor se inicializa Al final podemos ver un checkbox que dice “Esencial”. Esta le dice a la tarea si debería o no fallar si este contenedor deja de ejecutarse
  29. Tambien puedes declarar tus variables en json o en docker compose si así lo requieres
  30. Una vez que tu definición de tarea haya sido creada, puedes calendarizarla a una instancia que tenga recursos disponibles para ejecutarla Una vez la hayas calendarizado, esa definición de tarea se convierte en una tarea en ejecución, o simplemente, una tarea
  31. Es la unidad mínima de trabajo en ECS. Puedes tener una tarea que tenga un único contenedor o hasta 10 contenedores que trabajan juntos en una única instancia EC2 dentro de un clúster de ECS Por ejemplo, imagínate que necesitas una aplicación que necesita nginx, rails y redis ejecutándose juntos. Pues tendras que crear una definición de tarea con esos tres contenedores y cuando la calendarices, esta se convertirá en una tarea en ejecución Tu puedes correr tantas tareas como quepan en tu instancia y para ello debes cuidar la utilización de CPU y Memoria de tu clúster
  32. Esta es la manera de crear un servicio en la consola de aWS Simplemente tienes que referenciar tu definición de tarea y elegir el número de veces que esta definición sea ejecutada También puedes definir un ELB (que en este caso será un application load balancer, para poder balancear entre puertos)
  33. El número de tareas dentro de tu servicio se parece mucho a un grupo de autoescalado. Tiene una capacidad deseada por lo que ECS mantendrá el número de tareas en ejecución como tu lo hayas configurado Si una tarea falla, el servicio automáticamente ejecutará una nueva tarea hasta llegar al número de tareas deseadas
  34. Y al igual que la capacidad deseada, podemos jugar con el número de tareas dependiendo de lo que necesite nuestra aplicación como si fuera un grupo de autoescalado en EC2. Podemos agregar y retirar tareas dependiendo de alarmas configuradas
  35. Además, podemos por medio de APIs podemos desplegar nuevas versiones sin afectar a nuestros usuarios por medio de técnicas como vaciado de conexiones. También existen opciones para hacer depliegue total o parcial