Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Jesus Contreras - Containers y DevTools en AWS

Jesus Contreras - Containers y DevTools en AWS

DevOps Days GDL 2020 - February 20th

DevOpsDays GDL

February 21, 2020
Tweet

More Decks by DevOpsDays GDL

Other Decks in Technology

Transcript

  1. © 2020, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Containers y DevTools en AWS Jesús Humberto Contreras Rancurello Solutions Architect AWS México
  2. © 2020, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Agenda Responsabilidad operacional Ecosistema de containers DevTools Demo CI/CD
  3. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 3 Modelo de responsabilidad operacional en AWS On-Premises Nube Menos Má s Cómputo Virtual Machine EC 2 Elastic Beanstalk AWS Lambda ECS/Fargat e ECS/EC 2 EKS/EC 2
  4. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 4 Modelo de responsabilidad operacional en AWS On-Premises Nube Menos Má s Cómputo Virtual Machine EC 2 Elastic Beanstalk AWS Lambda ECS/Fargat e Base de Datos MySQ L MySQL en EC2 RDS MySQL RDS Aurora Aurora Serverless DynamoDB Almacena- miento SAN, NAS S3 Mensajerí a ESB s Amazon MQ Kinesi s SQS / SNS Analítico s Hadoop Hadoop en EC2 EM R Elasticsearch Service Athena ECS/EC 2 EKS/EC 2 EF S FSx for Windows Storage Gateway EB S Managed Kafka Glue
  5. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 5 At first there was Amazon EC2
  6. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 6 Then Docker! Customers started containerizing applications within EC2 instances EC2 Instance Containers
  7. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 7 Containers made it easy to build and scale cloud-native applications
  8. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 8 Customers needed an easier way to manage large clusters of instances and containers
  9. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 9 Servicios de containers en AWS Administración Implementación, programación, escalado y administración de aplicaciones conteinerizadas Amazon Elastic Container Service (ECS) Amazon Elastic Container Service for Kubernetes (EKS)
  10. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 10 Servicios de containers en AWS Administración Implementación, programación, escalado y administración de aplicaciones conteinerizadas Hospedaje Donde los containers son ejecutados Amazon Elastic Container Service (ECS) Amazon Elastic Container Service for Kubernetes (EKS) Amazon EC2 AWS Fargate
  11. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 11 Servicios de containers en AWS Administración Implementación, programación, escalado y administración de aplicaciones conteinerizadas Hospedaje Donde los containers son ejecutados Amazon Elastic Container Service (ECS) Amazon Elastic Container Service for Kubernetes (EKS) Amazon EC2 AWS Fargate Repositorio de Imágenes Donde se guardan las imágenes de docker Amazon Elastic Container Registry (ECR)
  12. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 12 Amazon Elastic Container Service (ECS)
  13. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 13 Orquestación y Agenda Administración del clúster Motor de agenda ECS Instancias EC2 con Tareas
  14. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 14 Amazon ECS INSTANCIAS EC2 LOAD BALANCER ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container SERVICIO DE COMUNICACIÓN Amazon ECS API ADMINISTRACIÓN DEL CLÚSTER ALMACENAMIENTO LLAVE/VALOR ECS AGENT TASK Container TASK Container LOAD BALANCER Internet
  15. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 15 Amazon ECS – Clúster INSTANCIAS EC2 LOAD BALANCER ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container SERVICIO DE COMUNICACIÓN Amazon ECS API ADMINISTRACIÓN DEL CLÚSTER ALMACENAMIENTO LLAVE/VALOR ECS AGENT TASK Container TASK Container LOAD BALANCER Internet
  16. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 16 Amazon ECS – Task INSTANCIAS EC2 LOAD BALANCER ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container SERVICIO DE COMUNICACIÓN Amazon ECS API ADMINISTRACIÓN DEL CLÚSTER ALMACENAMIENTO LLAVE/VALOR ECS AGENT TASK Container TASK Container LOAD BALANCER Internet
  17. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 17 Task Definitions Volume Definitions Container Definitions
  18. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 18 Amazon ECS – Servicio INSTANCIAS EC2 ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container SERVICIO DE COMUNICACIÓN Amazon ECS API ADMINISTRACIÓN DEL CLÚSTER ALMACENAMIENTO LLAVE/VALOR ECS AGENT TASK Container TASK Container LOAD BALANCER Internet LOAD BALANCER
  19. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 19 Actualizar un Servicio - Rolling Implementación de una nueva versión de tu container minimumHealthyPercent = 50% y maximumPercent = 100% Elastic Load Balancing
  20. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 20 Actualizar un Servicio - Rolling Implementación de una nueva versión de tu container minimumHealthyPercent = 50% y maximumPercent = 100% Elastic Load Balancing Shared Data Volume Containers Shared Data Volume Containers Antiguo container Antiguo container
  21. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 21 Actualizar un Servicio - Rolling Implementación de una nueva versión de tu container minimumHealthyPercent = 50% y maximumPercent = 100% Nuevo container Elastic Load Balancing Shared Data Volume Containers Shared Data Volume Containers Antiguo container
  22. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 22 Actualizar un Servicio - Rolling Implementación de una nueva versión de tu container minimumHealthyPercent = 50% y maximumPercent = 100% Nuevo container Elastic Load Balancing Shared Data Volume Containers Shared Data Volume Containers Nuevo container
  23. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 23 Actualizar un Servicio - Doubling Implementación de una nueva versión de tu container minimumHealthyPercent = 100% y maximumPercent = 200% Elastic Load Balancing
  24. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 24 Actualizar un Servicio - Doubling Implementación de una nueva versión de tu container minimumHealthyPercent = 100% y maximumPercent = 200% Elastic Load Balancing Shared Data Volume Containers Antiguo container Shared Data Volume Containers Shared Data Volume Containers Antiguo container Antiguo container
  25. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 25 Actualizar un Servicio - Doubling Implementación de una nueva versión de tu container minimumHealthyPercent = 100% y maximumPercent = 200% Nuevo container Elastic Load Balancing Shared Data Volume Containers Antiguo container Shared Data Volume Containers Shared Data Volume Containers Shared Data Volume Containers Shared Data Volume Containers Shared Data Volume Containers Antiguo container Antiguo container Nuevo container Nuevo container
  26. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 26 Actualizar un Servicio - Doubling Implementación de una nueva versión de tu container minimumHealthyPercent = 100% y maximumPercent = 200% Nuevo container Elastic Load Balancing Shared Data Volume Containers Shared Data Volume Containers Shared Data Volume Containers Nuevo container Nuevo container
  27. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 27 V1 V1 V1 V1 V1 V1 V1 V1 V1 V1 V2 V2 V2 V2 V2 V2 V2 V2 V2 V2 Rolling deployments – success
  28. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 29 Instancia EC2 ECS Agent Docker Agent OS Sin Fargate, terminarás administrando más que solo containers Tareas con containers
  29. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 30 - Parches y actualización del sistema operativo, agentes, etc. - Escalado del cluster de instancias EC2 para una utilización óptima. Con ECS – EC2 Instancias EC2 + Agente ECS + Grupo de Autoescalado + Tareas con Containers
  30. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 31 Con ECS – Fargate Tareas con Containers
  31. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 32 Tu aplicación containerizada Administrado por AWS No se deben provisionar, escalar o administrar instancias EC2 Elástico Aumenta o disminuye capacidad de forma automática. Paga solamente lo que utilizas Integrado con el ecosistema de AWS: Redes VPC, Balanceo de carga, Permisos con IAM, Monitoreo con Cloudwatch AWS Fargate
  32. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 33 Ambiente de containers totalmente administado con AWS ECS + Fargate Trae tu código existente Listo para producción Integraciones poderosas No se requieren cambios del código existente, funciona con flujos de trabajo y microservicios existentes construidos en Amazon ECS Cumple con ISO, PCI, HIPAA, SOC. Lance diez o decenas de miles de contenedores en segundos Integraciones nativas de AWS para redes, seguridad, CICD, monitoreo, etc. Fargate ejecuta decenas de millones de containers para clientes de AWS cada semana
  33. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 35 Amazon Elastic Container Service for Kubernetes (EKS)
  34. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 36 Comunidad, aporte, elección.
  35. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 37 micluster.eks.amazonaws.com Zona de disponibilidad 1 Zona de disponibilidad 2 Zona de disponibilidad 3 Kubectl
  36. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 38 Monolith development lifecycle monitor release test build developers delivery pipelines services
  37. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 39 Monolith development lifecycle monitor release test build developers delivery pipelines services
  38. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 40 Microservice development lifecycle developers delivery pipelines services monitor release test build
  39. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 41 Microservice development lifecycle ??? developers delivery pipelines services
  40. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 42 Microservice development lifecycle developers services monitor release test build delivery pipelines monitor release test build monitor release test build monitor release test build monitor release test build monitor release test build
  41. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 43 The AWS Developer Tools for CI/CD Source Build Test Deploy Monitor
  42. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 44 The AWS Developer Tools for CI/CD AWS CodeCommit Source Build Test Deploy Monitor
  43. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 45 The AWS Developer Tools for CI/CD AWS CodeCommit AWS CodeBuild Source Build Test Deploy Monitor
  44. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 46 The AWS Developer Tools for CI/CD AWS CodeBuild + Third Party AWS CodeCommit AWS CodeBuild Source Build Test Deploy Monitor
  45. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 47 The AWS Developer Tools for CI/CD AWS CodeBuild + Third Party AWS CodeCommit AWS CodeBuild AWS CodeDeploy Source Build Test Deploy Monitor
  46. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 48 The AWS Developer Tools for CI/CD AWS CodeBuild + Third Party AWS CodeCommit AWS CodeBuild AWS CodeDeploy Source Build Test Deploy Monitor AWS CodePipeline
  47. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 49 The AWS Developer Tools for CI/CD AWS CodeBuild + Third Party AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS X-Ray Source Build Test Deploy Monitor AWS CodePipeline Amazon CloudWatch
  48. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 50 MyApp CodeCommit Sourc e Build Build Build DeployToInteg CodeDeploy Integration IntegTest End2EndTester DeployToProd CodeDeploy Production The pipeline - Demo
  49. Thank you! © 2020, Amazon Web Services, Inc. or its

    affiliates. All rights reserved. Jesús Humberto Contreras Rancurello [email protected]