Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

© 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

Slide 4

Slide 4 text

© 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

Slide 5

Slide 5 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Infraestrutura como Código

Slide 6

Slide 6 text

© 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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

© 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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

© 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

Slide 19

Slide 19 text

© 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

Slide 20

Slide 20 text

© 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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

© 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

Slide 23

Slide 23 text

© 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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Conceitos

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

© 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

Slide 34

Slide 34 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Demo

Slide 35

Slide 35 text

© 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

Slide 36

Slide 36 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Demo

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

© 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

Slide 40

Slide 40 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Obrigada! Ana Cunha @mcunhaana