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

Infraestrutura como Código com AWS CDK

Ana Cunha
November 29, 2020

Infraestrutura como Código com AWS CDK

53º Python Floripa on-line

Ana Cunha

November 29, 2020
Tweet

More Decks by Ana Cunha

Other Decks in Programming

Transcript

  1. © 2020, Amazon Web Services, Inc. or its Affiliates. Ana

    Cunha @mcunhaana Infraestrutura como Código com AWS CDK
  2. © 2020, Amazon Web Services, Inc. or its Affiliates. Python

    Floripa – Novembro/2020 • Infraestrutura como Código • AWS CloudFormation • AWS Cloud Development Kit (CDK) • Demo
  3. © 2020, Amazon Web Services, Inc. or its Affiliates. Quem

    sou eu? • Ana (Luiza) • Catarinense em São Paulo • ❤ • Developer Tools • Java (zona de conforto) • Desenvolvimento Web • Videogames, Cervejas, Gatos
  4. © 2020, Amazon Web Services, Inc. or its Affiliates. O

    que eu faço? • Developer Advocate, AWS – 2020 • Software Development Engineer, Amazon – 2017/2020 • Mestrado em Ciência da Computação – 2014/2016 • Graduação em Sistemas de Informação – 2010/2014
  5. © 2020, Amazon Web Services, Inc. or its Affiliates. •

    DevOps • Colaboração • Versionamento • Replicável • Aplicações Modernas • Inúmeros recursos • Gestão do ciclo de vida Infraestrutura como Código
  6. © 2020, Amazon Web Services, Inc. or its Affiliates. Manual

    Manuais, Wiki, Perguntar para alguém Provisionamento de Infraestrutura
  7. © 2020, Amazon Web Services, Inc. or its Affiliates. Manual

    Fácil de começar Não reproduzível Passível de erros Demorado
  8. © 2020, Amazon Web Services, Inc. or its Affiliates. Manual

    Scripts Manuais, Wiki, Perguntar para alguém #!/bin/bash, AWS SDKs Provisionamento de Infraestrutura
  9. © 2020, Amazon Web Services, Inc. or its Affiliates. Scripts

    Fácil de compartilhar e versionar O que acontece quando uma chamada de API falha? Como manter atualizado? Como saber se um recurso está pronto? Como reverter mudanças?
  10. © 2020, Amazon Web Services, Inc. or its Affiliates. Manual

    Scripts Declarativa Manuais, Wiki, Perguntar para alguém #!/bin/bash, AWS SDKs AWS CloudFormation, Terraform Provisionamento de Infraestrutura
  11. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS

    CloudFormation AWS CloudFormation template (JSON/YAML) Configuração de estado desejada
  12. © 2020, Amazon Web Services, Inc. or its Affiliates. Definição

    da infraestrutura em YAML ou JSON Criação da stack usando console, API, ou CLI Stack e recursos são provisionados Upload de arquivos locais ou a partir de um bucket S3 AWS CloudFormation
  13. © 2020, Amazon Web Services, Inc. or its Affiliates. Declarativa

    Fácil de automatizar Reproduzível Gestão do estado da aplicação Sintaxe de configuração Sem abstrações, muitos detalhes
  14. © 2020, Amazon Web Services, Inc. or its Affiliates. Manual

    Scripts Geradores Declarativa Manuais, Wiki, Perguntar para alguém #!/bin/bash, AWS SDKs AWS CloudFormation, Terraform Troposphere, GoFormation Provisionamento de Infraestrutura
  15. © 2020, Amazon Web Services, Inc. or its Affiliates. Geradores

    Código de verdade Estado desejado de configuração Sem abstrações em alto nível
  16. © 2020, Amazon Web Services, Inc. or its Affiliates. Manual

    Scripts Geradores Abstrações Declarativa Manuais, Wiki, Perguntar para alguém #!/bin/bash, AWS SDKs CloudFormation, Terraform Troposphere, GoFormation AWS CDK, Pulumi Provisionamento de Infraestrutura
  17. © 2020, Amazon Web Services, Inc. or its Affiliates. •

    Sua linguagem preferida • Apenas classes e métodos • Auto Complete • Documentação Inline • Defaults • Classes reutilizável AWS Cloud Development Kit (CDK)
  18. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS

    CDK application Stack(s) Construct Construct Apps
  19. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS

    CloudFormation template AWS CDK application Stack(s) Construct Construct AWS CDK Resources
  20. © 2020, Amazon Web Services, Inc. or its Affiliates. Workflow

    de Desenvolvimento CDK CLI AWS CloudFormation Stacks & Constructs Source Code Templates + Assets Cloud Assembly Cloud Resources execute synthesize deploy provision cdk init // create new project pip install // install dependencies cdk diff // check what will change cdk synth // create templates and assets cdk deploy // push changes to the cloud
  21. © 2020, Amazon Web Services, Inc. or its Affiliates. Você

    vai precisar de • Conta na AWS • Usuário com permissões de Admin • AWS Command Line Interface (CLI) • AWS CDK Toolkit (CDK CLI) • Node.js (10.3.0+) • Python (3.6+) • IDE de sua preferência
  22. © 2020, Amazon Web Services, Inc. or its Affiliates. Próximos

    Passos Começar • cdkworkshop.com • aws.amazon.com/cdk Participar • github.com/aws/aws-cdk • github.com/aws/jsii #cdkdemos