infraestrutura como código (IaC)
Com a infraestrutura como código (IaC), você pode automatizar a implantação e o gerenciamento de seus recursos da AWS, incluindo aplicações com tecnologia 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 aplicações com tecnologia sem servidor da AWS
A AWS oferece várias ferramentas de IaC para ajudá-lo a criar, implantar e gerenciar seus recursos de nuvem. Esta seção explica como o AWS SAM se encaixa nesse ecossistema e funciona com outras ferramentas de IaC da AWS.
- AWS CloudFormation
-
Ao usar o CloudFormation
, você pode modelar e provisionar toda a sua infraestrutura da AWS com modelos YAML ou JSON. O CloudFormation processa automaticamente a criação, as atualizações e a exclusão de recursos. Quando você implanta aplicações do AWS SAM, o CloudFormation processa os modelos transformados para criar e gerenciar seus recursos. - AWS Serverless Application Model (AWS SAM)
-
O AWS SAM ajuda a criar aplicações com tecnologia sem servidor com sintaxe simplificada para definir recursos sem servidor. Você pode usar modelos do AWS SAM para provisionar funções do Lambda, bancos de dados e origens de eventos, usando a sintaxe YAML concisa. O AWS SAM transforma esses modelos em modelos do CloudFormation durante a implantação.
nota
Embora o AWS SAM seja especializado em aplicações com tecnologia sem servidor, você pode usar qualquer tipo de recurso do CloudFormation em seus modelos do AWS SAM. Isso permite a flexibilidade de incluir recursos com tecnologia sem servidor quando necessário.
- AWS Cloud Development Kit (AWS CDK)
-
Com o AWS CDK
, você pode definir sua infraestrutura com tecnologia sem servidor usando linguagens de programação familiares, como TypeScript, Python, Java, C#/.Net ou Go. Você pode usar constructos de programação, como loops e condições, para definir sua infraestrutura e o AWS CDK gerar modelos do CloudFormation para implantação. Agora você pode usar a CLI do AWS SAM para testar e criar aplicações do AWS CDK localmente. 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 IaC da AWS para o desenvolvimento com tecnologia sem servidor:
Ferramenta |
Uso primário |
Melhor para |
Funciona com o AWS SAM |
Quando escolher |
|---|---|---|---|---|
CloudFormation |
Gerenciar uma infraestrutura complexa da AWS |
Aplicações que exigem controle detalhado dos recursos da AWS |
Os modelos do AWS SAM se transformam em modelos do CloudFormation 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 com tecnologia sem servidor com as funções do Lambda, APIs do API Gateway e outros recursos com tecnologia sem servidor |
AWS CDK |
Definição de infraestrutura usando linguagens de programação |
Equipes que preferem linguagens digitadas e abordagem que prioriza o código |
Gere modelos do AWS SAM e use a CLI do AWS SAM 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 de IaC nativas da AWS, o Terraform é outra solução popular de IaC que pode ser usada para definir aplicações com tecnologia 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
-
Para saber mais sobre as práticas de DevOps na AWS, consulte Introdução ao DevOps na AWS
-
Para obter informações sobre como usar o Lambda com diferentes ferramentas de IaC, consulte Usar o Lambda com a infraestrutura como código (IaC)