Slide 1

Slide 1 text

© 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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

© 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

Slide 4

Slide 4 text

© 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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

© 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

Slide 9

Slide 9 text

© 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)

Slide 10

Slide 10 text

© 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

Slide 11

Slide 11 text

© 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)

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

© 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

Slide 14

Slide 14 text

© 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

Slide 15

Slide 15 text

© 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

Slide 16

Slide 16 text

© 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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

© 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

Slide 19

Slide 19 text

© 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

Slide 20

Slide 20 text

© 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

Slide 21

Slide 21 text

© 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

Slide 22

Slide 22 text

© 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

Slide 23

Slide 23 text

© 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

Slide 24

Slide 24 text

© 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

Slide 25

Slide 25 text

© 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

Slide 26

Slide 26 text

© 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

Slide 27

Slide 27 text

© 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

Slide 28

Slide 28 text

© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 28 AWS Fargate

Slide 29

Slide 29 text

© 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

Slide 30

Slide 30 text

© 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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

© 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

Slide 33

Slide 33 text

© 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

Slide 34

Slide 34 text

© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 34

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

© 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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

© 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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

© 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

Slide 45

Slide 45 text

© 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

Slide 46

Slide 46 text

© 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

Slide 47

Slide 47 text

© 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

Slide 48

Slide 48 text

© 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

Slide 49

Slide 49 text

© 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

Slide 50

Slide 50 text

© 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

Slide 51

Slide 51 text

Thank you! © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Jesús Humberto Contreras Rancurello jesushum@amazon.com