infraestrutura como código (IaC) - AWS Serverless Application Model

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

infraestrutura como código (IaC)

Com a Infraestrutura como Código (IaC), você pode automatizar a implantação e o gerenciamento de seus AWS recursos, incluindo aplicativos sem servidor. O IaC permite que você defina sua infraestrutura usando código, facilitando a criação de versões, o compartilhamento e a replicação de suas implantações. Essa abordagem ajuda você a:

  • Acelere seu ciclo de desenvolvimento

  • Simplifique o gerenciamento de configurações

  • Melhore a confiabilidade e a consistência de suas implantações

Ferramentas de IaC para aplicativos sem AWS servidor

AWS oferece várias ferramentas de IaC para ajudá-lo a criar, implantar e gerenciar seus recursos de nuvem. Esta seção explica como AWS SAM se encaixa nesse ecossistema e funciona com outras ferramentas de AWS IaC.

AWS CloudFormation

Usando AWS CloudFormation, você pode modelar e provisionar toda a sua AWS infraestrutura com modelos YAML ou JSON. AWS CloudFormation processa automaticamente a criação, as atualizações e a exclusão de recursos. Quando você implanta AWS SAM aplicativos, AWS CloudFormation processa os modelos transformados para criar e gerenciar seus recursos.

AWS Serverless Application Model (AWS SAM)

AWS SAM ajuda você a criar aplicativos sem servidor com sintaxe simplificada para definir recursos sem servidor. Você pode usar AWS SAM modelos para provisionar funções, APIs bancos de dados e fontes de eventos do Lambda usando a sintaxe YAML concisa. AWS SAM transforma esses modelos em AWS CloudFormation modelos durante a implantação.

nota

Embora seja AWS SAM especializado em aplicativos sem servidor, você pode usar qualquer tipo de AWS CloudFormation recurso em seus modelos. AWS SAM Isso lhe dá a flexibilidade de incluir recursos que não sejam sem servidor quando necessário.

AWS Kit de desenvolvimento em nuvem (AWS CDK)

Com AWS CDK, você pode definir sua infraestrutura sem servidor usando linguagens de programação conhecidas, como TypeScript Python, Java, C#/.Net ou Go. Você pode usar construções de programação, como loops e condições, para definir sua infraestrutura e AWS CDK gerar AWS CloudFormation modelos para implantação. Você pode usar o AWS SAMCLI para testar e depurar localmente aplicativos criados com AWS CDK. Para saber mais, consulte Testando aplicativos CDK localmente.

Comparando ferramentas de IaC para aplicativos sem servidor

Ao escolher uma ferramenta de IaC para seus aplicativos sem servidor, considere as preferências da sua equipe, os requisitos do projeto e os fluxos de trabalho existentes. A tabela a seguir compara as principais características das ferramentas de AWS IaC para desenvolvimento sem servidor:

Ferramenta

Uso primário

Melhor para

Funciona com AWS SAM

Quando escolher

AWS CloudFormation

Gerenciando uma AWS infraestrutura complexa

Aplicativos que exigem controle detalhado dos AWS recursos

AWS SAM modelos se transformam em AWS CloudFormation modelos durante a implantação

Para um controle refinado sobre recursos que não são sem servidor

AWS SAM

Desenvolvimento de aplicativos sem servidor

Equipes criando aplicativos sem servidor usando o Lambda

Funcionalidade nativa

Ao focar principalmente em arquiteturas sem servidor com funções Lambda, API Gateway e outros recursos sem servidor APIs

AWS CDK

Definição de infraestrutura usando linguagens de programação

Equipes que preferem linguagens digitadas e abordagem que prioriza o código

Gere AWS SAM modelos e use AWS SAMCLI para testes

Quando você precisa de uma definição de infraestrutura programática ou de uma lógica complexa de configuração de recursos

nota

Embora este guia se concentre em ferramentas AWS de IaC nativas, o Terraform é outra solução popular de IaC que pode ser usada para definir aplicativos sem servidor. O AWS SAMCLI suporta testes locais de funções Lambda definidas no Terraform. Para obter mais informações, consulte Suporte AWS SAM CLI Terraform.

Saiba mais