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

Infraestrutura como Código com AWS CDK

Infraestrutura como Código com AWS CDK

Palestra apresentada pela Ana Cunha na 53º Python Floripa on-line https://www.youtube.com/watch?v=-ybYcPhymGo

23f134e5e0567efeff45ecfaa8702f37?s=128

Python Floripa

December 17, 2020
Tweet

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. Infraestrutura

    como Código
  6. © 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
  7. © 2020, Amazon Web Services, Inc. or its Affiliates. Manual

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

  9. © 2020, Amazon Web Services, Inc. or its Affiliates. Manual

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

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

  12. © 2020, Amazon Web Services, Inc. or its Affiliates. Scripts

  13. © 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?
  14. © 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
  15. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS

    CloudFormation
  16. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS

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

    CloudFormation Template
  18. © 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
  19. © 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
  20. © 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
  21. © 2020, Amazon Web Services, Inc. or its Affiliates. Geradores

    AWS CloudFormation Template
  22. © 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
  23. © 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
  24. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS

    Cloud Development Kit (CDK)
  25. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS

    Cloud Development Kit (CDK)
  26. © 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)
  27. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS

    Cloud Development Kit (CDK)
  28. © 2020, Amazon Web Services, Inc. or its Affiliates. Conceitos

  29. © 2020, Amazon Web Services, Inc. or its Affiliates. Construct

    Construct Constructs
  30. © 2020, Amazon Web Services, Inc. or its Affiliates. Stack(s)

    Construct Construct Stacks
  31. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS

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

    CloudFormation template AWS CDK application Stack(s) Construct Construct AWS CDK Resources
  33. © 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
  34. © 2020, Amazon Web Services, Inc. or its Affiliates. Demo

  35. © 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
  36. © 2020, Amazon Web Services, Inc. or its Affiliates. Demo

  37. © 2020, Amazon Web Services, Inc. or its Affiliates. Próximos

    Passos
  38. © 2020, Amazon Web Services, Inc. or its Affiliates. Ecossistema

    CDK
  39. © 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
  40. © 2020, Amazon Web Services, Inc. or its Affiliates. Obrigada!

    Ana Cunha @mcunhaana