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

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

  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

    View Slide

  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)

    View Slide

  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

    View Slide

  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)

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

  29. © 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

    View Slide

  30. © 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

    View Slide

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

    View Slide

  32. © 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

    View Slide

  33. © 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  37. © 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  42. © 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

    View Slide

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

    View Slide

  44. © 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

    View Slide

  45. © 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

    View Slide

  46. © 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

    View Slide

  47. © 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

    View Slide

  48. © 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

    View Slide

  49. © 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

    View Slide

  50. © 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

    View Slide

  51. Thank you!
    © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Jesús Humberto Contreras Rancurello
    [email protected]

    View Slide