comenzando con docker en aws
TRANSCRIPT
![Page 1: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/1.jpg)
Comenzando con Docker en AWSMauricio Muñoz, Solutions Architect
AWS Chile
![Page 2: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/2.jpg)
Agenda
¿Por qué contenedores?
Administración de Clústeres
Beneficios
Ejecutando servicios
![Page 3: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/3.jpg)
¿Por qué Contenedores?
![Page 4: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/4.jpg)
¿Qué son los Contenedores?
Virtualización de SO
Aislamiento de procesos
Imágenes
AutomatizaciónServidor
SO Guest
Bins/Libs Bins/Libs
App2App1
![Page 5: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/5.jpg)
Ventajas de los contenedores
Portátil
Flexible
Rápido
EficienteServidor
SO Guest
Bins/Libs Bins/Libs
App2App1
![Page 6: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/6.jpg)
Los Servicios evolucionaron a Microservicios
Aplicación monolítica
Órdenes Interfaz de
usuario
Envíos
Servicio de
órdenesServicio de
usuario
Servicio de
envíos
Acceso
a 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
![Page 7: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/7.jpg)
Los Contenedores son naturales para Microservicios
Simples de modelar
Cualquier aplicación, cualquier lenguaje
La imagen es la versión
Pruebe y despliegue el mismo artefacto (inmutabilidad)
Servidores sin estado = menor riesgo por cambios
![Page 8: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/8.jpg)
“Scheduling” (Calendarización)
![Page 9: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/9.jpg)
Servidor
SO Guest
Bins/Libs Bins/Libs
App2App1
“Scheduling” de un recurso es simple
![Page 10: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/10.jpg)
“Scheduling” de un clúster es difícil
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
![Page 11: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/11.jpg)
¿Qué es Amazon ECS?
Amazon EC2 Container Service (ECS) es un servicio de
administración de contenedores altamente escalable y
con alto rendimiento. Usted puede usar Amazon ECS
para calendarizar la ubicación de contenedores dentro de
su clúster. También puede integrar su propio “Scheduler” o
herramienta de terceros para cumplir sus requerimientos
específicos de su aplicación o negocio.
![Page 12: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/12.jpg)
Administración de Clúster
![Page 13: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/13.jpg)
Administración de Clúster: Gestión de
Recursos
Docker
Tarea
Instancia EC2
Contenedor
Docker
Tarea
Instancia EC2
Contenedor
Tarea
Contenedor
Docker
Instancia EC2
Tarea
Contenedorç
AZ 1 AZ 2
![Page 14: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/14.jpg)
Docker
Tarea
Instancia EC2
Contenedor
Docker
Tarea
Instancia EC2
Contenedor
Tarea
Contenedor
Docker
Instancia EC2
Tarea
Contenedor
AZ 1 AZ 2
Administración de Clúster: Scheduling
![Page 15: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/15.jpg)
Amazon ECS: Gestió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
Servicio de Administración de Clúster
![Page 16: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/16.jpg)
Amazon ECS: Agente y Comunicación
Docker
Tarea
Instancia de Contenedor
Contenedor
Agente ECS
Tarea
Contenedor
Docker
Tarea
Instancia de Contenedor
Contenedor
Agente ECS
Tarea
Contenedor
Docker
Tarea
Instancia de Contenedor
Contenedor
Agente ECS
Tarea
Contenedor
AZ 1 AZ 2
Servicio de Administración de Clúster
Servicio de Comunicación con el Agente
![Page 17: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/17.jpg)
Amazon ECS: Almacenamiento Llave/Valor
Docker
Tarea
Instancia de Contenedor
Contenedor
Agente ECS
ELB
Internet
ELB
Tarea
Contenedor
Docker
Tarea
Instancia de Contenedor
Contenedor
Agente ECS
Tarea
Contenedor
Docker
Tarea
Instancia de Contenedor
Contenedor
Agente ECS
Tarea
Contenedor
AZ 1 AZ 2
Almacenamiento Llave/Valor
Servicio de Administración de Clúster
Servicio de Comunicación con el Agente
![Page 18: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/18.jpg)
Amazon ECS: Control de concurrencia
IDN-1 IDN IDN+1 IDN+2 IDN+3 IDN+4 IDN+5
IDN+6
IDN+5
WRITE
READ
![Page 19: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/19.jpg)
Amazon ECS: Control de concurrencia
IDN-1 IDN IDN+1 IDN+2 IDN+3 IDN+4 IDN+5
IDN+6IDN+3
IDN+5IDN+2
WRITE WRITE
READREAD
![Page 20: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/20.jpg)
Amazon ECS: APIs
Docker
Tarea
Instancia de Contenedor
Contenedor
Agente ECS
ELB
Internet
ELB
Usuario /
Scheduler
API
Servicio de Administración de Clúster
Tarea
Contenedor
Docker
Tarea
Instancia de Contenedor
Contenedor
Agente ECS
Tarea
Contenedor
Docker
Tarea
Instancia de Contenedor
Contenedor
Agente ECS
Tarea
Contenedor
AZ 1 AZ 2
Almacenamiento Llave/Valor
Servicio de Comunicación con el Agente
![Page 21: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/21.jpg)
Amazon ECS: “Scheduling”
Docker
Tarea
Instancia de Contenedor
Contenedor
Agente ECS
ELB
Internet
ELB
Usuario /
Scheduler
API
Servicio de Administración de Clúster
Tarea
Contenedor
Docker
Tarea
Instancia de Contenedor
Contenedor
Agente ECS
Tarea
Contenedor
Docker
Tarea
Instancia de Contenedor
Contenedor
Agente ECS
Tarea
Contenedor
AZ 1 AZ 2
Almacenamiento Llave/Valor
Servicio de Comunicación con el Agente
![Page 22: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/22.jpg)
Beneficios
![Page 23: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/23.jpg)
Fácil administración de Clusters
Nada que ejecutar
Administración de estados
Control y monitoreo
Escalabilidad
![Page 24: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/24.jpg)
Escalabilidad
![Page 25: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/25.jpg)
Flexibilidad en la disposición de contenedores
Aplicaciones
Trabajos “batch”
Múltiples schedulers
![Page 26: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/26.jpg)
Diseñado para usarse con otros servicios de AWS
Elastic Load Balancing
Amazon Elastic Block Store
Amazon Virtual Private Cloud
Amazon CloudWatch
AWS Identity and Access Management
AWS CloudTrail
![Page 27: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/27.jpg)
Extensible
Conjunto completo de APIs
“Schedulers” personalizados
Agente Open source y CLI
![Page 28: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/28.jpg)
Amazon ECS
Docker
Tarea
Instancia de Contenedor
Amazon
ECS
Contenedor
Agente ECS
ELB
Internet
ELB
Usuario /
Scheduler
API
Servicio de Administración de Clúster
Tarea
Contenedor
Docker
Tarea
Instancia de Contenedor
Contenedor
Agente ECS
Tarea
Contenedor
Docker
Tarea
Instancia de Contenedor
Contenedor
Agente ECS
Tarea
Contenedor
AZ 1 AZ 2
Almacenamiento Llave/Valor
Servicio Comunicación con el Agente
![Page 29: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/29.jpg)
Ejecutando servicios
![Page 30: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/30.jpg)
“Task Definitions”
Volume Definitions
Container Definitions
![Page 31: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/31.jpg)
Task Definitions
![Page 32: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/32.jpg)
Task Definitions
![Page 33: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/33.jpg)
“Tasks”
Shared Data
Volume
Containers
schedule
Container
Instance
Volume Definitions
Container Definitions
![Page 34: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/34.jpg)
Mínima Unidad de trabajo
Agrupa contenedores relacionados
Se ejecutan en instancias (de contenedores)
“Tasks”
![Page 35: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/35.jpg)
Crear un servicio
Adecuado para
aplicaciones y servicios de
larga duración
![Page 36: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/36.jpg)
Crear un servicio
Balancea tráfico a través de contenedores
Recupera contenedores de manera automática
Descubre servicios
Elastic Load Balancing
Shared Data Volume
Containers
Shared Data Volume
Containers
Shared Data Volume
Containers
![Page 37: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/37.jpg)
Escalar un servicio
Escalamiento horizontal
(aumenta y disminuye ”Tasks”)
Elastic Load Balancing
Shared Data Volume
Containers
Shared Data Volume
Containers
Shared Data Volume
Containers
Shared Data Volume
Containers
![Page 38: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/38.jpg)
Escalar un servicio
![Page 39: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/39.jpg)
Actualizar un servicio
Desplegar nueva versión
Drenar conexiones
Elastic Load Balancing
Shared Data
Volume
Containers
current current current
Shared Data
Volume
Containers
Shared Data
Volume
Containers
![Page 40: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/40.jpg)
Actualizar un servicio
Desplegar nueva versión
Drenar conexiones
new new new
Elastic Load Balancing
Shared Data
Volume
Containers
old old old
Shared Data
Volume
Containers
Shared Data
Volume
Containers
Shared Data
Volume
Containers
Shared Data
Volume
Containers
Shared Data
Volume
Containers
![Page 41: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/41.jpg)
Actualizar un servicio (cont.)
Desplegar nueva versión
Drenar conexiones
new new new
Elastic Load Balancing
Shared Data
Volume
Containers
old old old
Shared Data
Volume
Containers
Shared Data
Volume
Containers
Shared Data
Volume
Containers
Shared Data
Volume
Containers
Shared Data
Volume
Containers
![Page 42: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/42.jpg)
Actualizar un servicio (cont.)
Desplegar nueva versión
Drenar conexiones
Elastic Load Balancing
Shared Data
Volume
Containers
new new new
Shared Data
Volume
Containers
Shared Data
Volume
Containers
![Page 43: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/43.jpg)
Actualizar un servicio (cont.)
Especifique una configuración de despliegue para su
servicio:
• minimumHealthyPercent: límite inferior (porcentaje
del desiredCount) del número de tareas que deben
permanecer ejecutándose en un servicio durante el
despliegue.
• maximumPercent: límite superior (porcentaje del
desiredCount) del número de tareas ejecutándose en
un servicio durante el despliegue.
![Page 44: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/44.jpg)
Actualizar un servicio (cont.)
Despliega usando el menor espacio:
minimumHealthyPercent = 50%, maximumPercent = 100%
![Page 45: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/45.jpg)
Actualizar un servicio (cont.)
Despliega rápido sin reducir la capacidad del servicio:
minimumHealthyPercent = 100%, maximumPercent = 200%
![Page 46: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/46.jpg)
Demo
![Page 47: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/47.jpg)
Remember to complete
your evaluations!¡No olvide llenar su
evaluación!
![Page 48: Comenzando con Docker en AWS](https://reader030.vdocuments.pub/reader030/viewer/2022020213/5a648a817f8b9a2c568b577b/html5/thumbnails/48.jpg)
¡Gracias!