O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Comenzando con Docker en AWS

168 visualizações

Publicada em

Comenzando con Docker en AWS - https://aws.amazon.com/es/docker/

Más informacion: http://aws.amazon.com/es/colombia/

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Comenzando con Docker en AWS

  1. 1. Mayo, 2017 Comenzando con Docker en AWS Ivan Salazar, Enterprise Solutions Architect Daniel Ayala, Ingeniero DevOps, Sura
  2. 2. Agenda ¿Por qué contenedores? Administración de Clústeres Beneficios Ejecutando servicios
  3. 3. ¿Por qué Contenedores?
  4. 4. ¿Qué son los Contenedores? Virtualización de SO Aislamiento de procesos Imágenes AutomatizaciónServidor SO Guest Bins/Libs Bins/Libs App2App1
  5. 5. Ventajas de los contenedores Portátil Flexible Rápido EficienteServidor SO Guest Bins/Libs Bins/Libs App2App1
  6. 6. Los Servicios evolucionaron a Microservicios Aplicación monolítica Órdenes Interfaz de usuario Envíos Servicio de órdenes Servicio 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
  7. 7. 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
  8. 8. “Scheduling” (Calendarización)
  9. 9. Servidor SO Guest Bins/Libs Bins/Libs App2App1 “Scheduling” de un recurso es simple
  10. 10. “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
  11. 11. ¿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.
  12. 12. Administración de Clúster
  13. 13. Administración de recursos Docker Tarea Instancia EC2 Contenedor Docker Tarea Instancia EC2 Contenedor Tarea Contenedor Docker Instancia EC2 Tarea Contenedorç AZ 1 AZ 2
  14. 14. “Scheduling” o calendarización Docker Tarea Instancia EC2 Contenedor Docker Tarea Instancia EC2 Contenedor Tarea Contenedor Docker Instancia EC2 Tarea Contenedor AZ 1 AZ 2
  15. 15. Administración de recursos Docker Tarea Instancia de Contenedor Contenedor Tarea Conteneçdor 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
  16. 16. Comunicación con el agente 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
  17. 17. Almacén 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
  18. 18. 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
  19. 19. 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
  20. 20. Beneficios
  21. 21. Administre clústeres de manera fácil Nada que ejecutar Administra el estado completo Control y monitoreo Escalabilidad
  22. 22. Escalabilidad
  23. 23. Ubicación de contenedores flexible Aplicaciones Trabajos “batch” Múltiples schedulers
  24. 24. 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
  25. 25. Extensible APIs comprensibles “Schedulers” personalizados Agente Open source y CLI
  26. 26. 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
  27. 27. Ejecutando servicios
  28. 28. “Task Definitions” Volume Definitions Container Definitions
  29. 29. Task Definitions
  30. 30. Task Definitions
  31. 31. “Tasks” Shared Data Volume Containers schedule Container Instance Volume Definitions Container Definitions
  32. 32. Unidad de trabajo Grupo de contenedores relacionados Ejecutan en instancias de contenedores “Tasks”
  33. 33. Crear un servicio Bueno para aplicaciones y servicios de ejecución larga
  34. 34. 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
  35. 35. Escalar un servicio Escalamiento hacia arriba Escalamiento hacia abajo Elastic Load Balancing Shared Data Volume Containers Shared Data Volume Containers Shared Data Volume Containers Shared Data Volume Containers
  36. 36. Escalar un servicio
  37. 37. 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
  38. 38. 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
  39. 39. Actualizar un servicio (cont.) Desplegar nueva versión Drenar conexiones Elastic Load Balancing Shared Data Volume Containers Shared Data Volume Containers Shared Data Volume Containers new new new
  40. 40. 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.
  41. 41. Actualizar un servicio (cont.) Despliega usando el menor espacio: minimumHealthyPercent = 50%, maximumPercent = 100%
  42. 42. Actualizar un servicio (cont.) Despliega rápido sin reducir la capacidad del servicio: minimumHealthyPercent = 100%, maximumPercent = 200%
  43. 43. Demo
  44. 44. Daniel Ayala Ingeniero DevOps Seguros SURA dayala@sura.com.co
  45. 45. • Tolerante a errores • Sin instalaciones • Compatibilidad con Docker • Auto escalamiento • Visibilidad en el uso de recursos • Definición sencilla • Manejo de API
  46. 46. Bitbucket Jenkins-Docker Códig o Registry S3 Tas k EC2+Docker
  47. 47. Remember to complete your evaluations! ¡No olvide llenar su evaluación!
  48. 48. ¡Gracias!

×