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. A 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:

  • Acelerar seu ciclo de desenvolvimento

  • Simplificar o gerenciamento de configuração

  • Melhorar 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 CloudFormation, você pode modelar e provisionar toda a sua AWS infraestrutura com modelos YAML ou JSON. CloudFormation processa automaticamente a criação, as atualizações e a exclusão de recursos. Quando você implanta AWS SAM aplicativos, 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 CloudFormation modelos durante a implantação.

nota

Embora seja AWS SAM especializado em aplicativos sem servidor, você pode usar qualquer tipo de CloudFormation recurso em seus modelos. AWS SAM Isso permite a flexibilidade de incluir recursos com tecnologia 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 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 Testing CDK applications locally.

Comparar ferramentas de IaC com aplicações com tecnologia sem servidor

Ao escolher uma ferramenta de IaC para suas aplicativos com tecnologia 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

CloudFormation

Gerenciando uma AWS infraestrutura complexa

Aplicativos que exigem controle detalhado dos AWS recursos

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

Para controle preciso sobre recursos que não são com tecnologia sem servidor

AWS SAM

Desenvolvimento de aplicações com tecnologia sem servidor

Equipes criando aplicações com tecnologia sem servidor que usam 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. A CLI do AWS SAM oferece suporte para testes locais de funções do Lambda definidas no Terraform. Para obter mais informações, consulte Suporte AWS SAM CLI Terraform.

Saiba mais