DEV Community

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

Posted on

2

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

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay