DEV Community

Cover image for Pulumi e AWS SAM - Como converter Cloud Formation IAC para Pulumi
Fernando Silva
Fernando Silva

Posted on

Pulumi e AWS SAM - Como converter Cloud Formation IAC para Pulumi

O SAM (Modelo de Aplicação Serverless da AWS) é um framework para construir aplicações serverless na AWS.

O IAC (Infraestrutura como Código) é uma maneira de gerenciar e provisionar infraestrutura usando código.

O Pulumi é uma plataforma de desenvolvimento multi-cloud para provisionamento de infraestrutura como código (IAC).

Enquanto o SAM é específico para a AWS e seus serviços, o Pulumi suporta múltiplos provedores de nuvem, como AWS, Azure e Google Cloud. Quando usados juntos, essas ferramentas podem oferecer várias vantagens para o desenvolvimento, implantação e manutenção de aplicações serverless.

O SAM e o Pulumi podem ser benéficos para organizações que querem usar um conjunto de ferramentas comum em diferentes equipes e projetos. Neste post, mostraremos alguns pontos-chave dessa combinação.

Uma das principais vantagens de combinar o SAM e o Pulumi é a possibilidade de melhor colaboração entre as equipes de desenvolvimento e operações. O SAM usa uma sintaxe familiar e simplificada para definir recursos serverless, tornando fácil para os desenvolvedores gerenciarem e implantarem seu código, enquanto o Pulumi usa uma linguagem e um framework comuns para permitir que os desenvolvedores e as equipes de operações colaborem.

Outra vantagem de usar o SAM e o Pulumi juntos é a capacidade de gerenciar facilmente tanto recursos serverless quanto não-serverless com um único conjunto de ferramentas.

O IAC gerado pelo SAM é projetado especificamente para aplicações serverless e fornece uma maneira simplificada de definir e implantar recursos serverless, como funções Lambda, pontos finais do API Gateway e tabelas DynamoDB. No entanto, ele não abrange todos os recursos e cenários possíveis que podem ser definidos na AWS.

O Pulumi pode ser usado para gerenciar os recursos não-serverless necessários para sua aplicação, como um bucket S3, uma instância RDS ou até mesmo um cluster k8s. Isso pode ser benéfico para aplicações que possuem uma infraestrutura complexa e precisam gerenciar recursos em diferentes provedores de nuvem.

Além disso, o uso do Pulumi com o SAM permite uma melhor reutilização e composição do código. O Pulumi suporta a reutilização e composição de código através de componentes Pulumi, que são blocos de código reutilizáveis que podem ser compartilhados entre diferentes equipes e projetos. Isso pode economizar tempo e esforço ao reduzir a necessidade de escrever e manter códigos similares em múltiplos projetos.

É importante mencionar também que o código de template gerado pelo SAM pode ser convertido facilmente para o Pulumi usando bibliotecas de código aberto mantidas pelos autores do Pulumi.

Isso economiza uma quantidade significativa de tempo e esforço ao eliminar a necessidade de converter manualmente a sintaxe CloudFormation para a sintaxe de linguagem apropriada. Você pode converter Cloud Formation IAC diretamente do site do Pulumi clicando aqui ou usando essa biblioteca.

Em resumo, usar o AWS SAM e o Pulumi juntos pode oferecer uma série de vantagens para o desenvolvimento, implantação e manutenção de aplicações serverless na AWS. Isso inclui a capacidade de gerenciar facilmente tanto recursos serverless quanto não-serverless, uma melhor colaboração entre desenvolvedores e equipes de operações e uma melhor reutilização e composição de código. E com as bibliotecas de código aberto disponíveis para converter templates SAM para Pulumi, torna o processo ainda mais simplificado.

Experimente!

Referências:

AWS Serverless Application Model (SAM):
https://aws.amazon.com/serverless/sam/

AWS CloudFormation - https:
https://aws.amazon.com/cloudformation/

Pulumi vs Cloud Formation:
https://www.pulumi.com/docs/intro/vs/cloud-templates/cloudformation/

Migrating From AWS Cloud Formation:
https://www.pulumi.com/docs/guides/adopting/from_aws/#migrate-resources-into-code

Comparison of AWS CloudFormation and AWS SAM:
https://aws.amazon.com/serverless/sam/comparison/

Converting Cloud Formation to Pulumi:
https://www.pulumi.com/cf2pulumi/
https://github.com/pulumi/pulumi-aws-native

㋡ Happy Coding []s

Oldest comments (0)