top of page

Baixe grátis nossos e-books

Explore o mundo da Engenharia de Software e Data de forma mais eficiente e acessível com nossos eBooks!

  • Foto do escritorJP

Como criar um app Serverless usando AWS SAM


AWS SAM



Neste post iremos aprender a como criar um app serverless usando AWS SAM. AWS SAM (Serverless Application Model) é uma extensão do AWS CloudFormation, especificamente projetado para desenvolvimento e implantação de aplicativos sem servidor, o famoso serverless como AWS Lambda, API Gateway, DynamoDB, entre outros recursos da AWS.


Nível de abstração


AWS SAM é uma ferramenta de nível de aplicativo, focada principalmente na criação e implantação de aplicativos serverless na AWS. Ele fornece abstrações de nível mais alto para facilitar o desenvolvimento e a implantação de aplicativos serverless, com foco nos serviços da AWS necessários para suportar esse tipo de arquitetura, ou seja, todo o foco é AWS e não outra nuvem. AWS SAM possui toda uma forma de gerar o código do projeto localmente e possibilita gerar testes, Build e Deploy através de SAM CLI.


Como instalar AWS SAM


Acesse este link e siga os passos de acordo com cada sistema operacional.


Como criar um projeto serverless


Após instalado, através de um terminal, gere seu projeto localmente gerando os arquivo necessários para então, efetuar o deploy da aplicação. Primeiramente, acesse a pasta em que deseja gerar seu recurso serverless e em seguida abra o terminal.


Digite no terminal o seguinte comando para iniciar o SAM:

sam init

Após digitar, um prompt com algumas opções aparecerá para que você preencha as informações do seu projeto.

AWS SAM

Acima temos 2 opções para gerar o nosso template inicial, vamos digitar 1 para gerarmos a opção 1 - AWS Quick Start Templates.


Após digitarmos, uma nova lista será mostrada com algumas opções de templates. Perceba que cada opção se resume a um recurso como, Lambda, tabela Dynamo e até um simples API utilizando API Gateway.


AWS SAM

Para este cenário, vamos criar uma tabela Dynamo, neste caso, digite a opção 13 e aperte o enter. Após digitar, algumas questões serão feitas, apenas digite y para prosseguir até que uma nova tela sobre as informações do projeto seja ofertada como abaixo.

AWS SAM



Digite o nome do projeto em que deseja e aperte o enter. No nosso caso digitei o seguinte nome para o projeto dynamo-table-using-aws-sam como na imagem abaixo.

AWS SAM


Após digitar o nome do projeto, o template e arquivos contendo o código base estará disponível e pronto para o deploy.


Acesse a pasta e veja que um arquivo chamado template.yaml foi criado contendo informações dos recursos que serão criados. É bem similar a um template do CloudFormation, porém mais resumido.


Abra o arquivo e perceba que vários recursos auxiliares foram mapeados no template, como o próprio Dynamo, um Lambda e uma API Gateway. Foram criados também, alguns códigos bases relacionados ao Lambda e alguns testes unitários que possibilitam invocações locais.


Como fazer o deploy


Agora que o nosso template e o código base foi gerado, é hora de criarmos a tabela Dynamo na AWS, basta seguir os próximos passos.


Acesse novamente o terminal e digite o seguinte comando:

sam deploy --guided

Após executar este comando, as seguintes opções serão mostradas no prompt do terminal para preenchimento:

AWS SAM

Para o campo Stack Name, digite um valor que será o identificador daquela stack no qual será usado pelo CloudFormation para criar os recursos necessários. Na dúvida, siga o que o foi digitado conforme imagem acima, no caso dynamo-stack.


Após preencher todos os campos, um resumo do que será criado será apresentado conforme imagem abaixo:

AWS SAM

Por fim, mais uma última pergunta será feita sobre o desejo de efetivar o deploy, basta digitar y para confirmar.

AWS SAM



Após confirmar a operação, o progresso da criação dos recursos será apresentado no terminal até a finalização do processo.

AWS SAM

Deploy finalizado, perceba novamente os recursos que foram criados.

AWS SAM

Agora é só acessar o console da AWS e conferir a tabela criada no Dynamo.


Deletando os recursos


Caso seja necessário, você pode deletar os recursos via SAM CLI, basta executar o comando abaixo:

sam delete dynamo-stack

O argumento dynamo-stack refere-se ao identificador que digitamos anteriormente no campo Stack Name, lembra? Utilize o mesmo para deletar toda a stack criada.


Após digitar o comando acima, é só confirmar os próximos passos.


É bem simples a forma de como criar um recurso serverless com AWS SAM, existem algumas vantagens e desvantagens e isso tudo vai depender da sua estratégia.


Espero que tenha curtido!

Posts recentes

Ver tudo
bottom of page