Esse artigo mostra um passo a passo Criando uma lambda com serverless framework.
O AWS Lambda é um serviço de computação serverless fornecido pela Amazon Web Services (AWS) que permite executar código em resposta a eventos sem a necessidade de provisionar ou gerenciar servidores. Dessa forma essa abordagem elimina a complexidade operacional e proporciona escalabilidade automática, alta disponibilidade e custos baseados no uso efetivo do serviço.
Linguagens Suportadas
O AWS Lambda suporta várias linguagens de programação, por exemplo:
- Python
- Node.js
- Java
- C#
- Go
- Ruby
- PowerShell
Cada linguagem tem suas próprias bibliotecas e estruturas disponíveis para uso.
Como Funciona o AWS Lambda
Primeiramente antes de criar uma função lambda na AWS, precisamos compreender alguns conceitos.
- Eventos: As funções Lambda são acionadas por eventos, como alterações em dados no Amazon S3, atualizações em tabelas do Amazon DynamoDB, chamadas de API no Amazon API Gateway, entre outros.
- Execução: Quando um evento é acionado, a AWS provisiona automaticamente os recursos necessários para executar a função, escalando conforme necessário para lidar com a carga de trabalho.
- Custo: Você paga apenas pelo tempo de computação consumido pela função, medido em incrementos de 100 milissegundos. Não há taxas quando a função não está em execução.
Existe uma gama de possibilidades ao utilizar AWS Lambda, tais como:
- Processamento de arquivos.
- Processamento de transmissões.
- Aplicações web.
- Backend de IoT.
- Backends móveis.
- Etc.
Como Funciona o Serverless Framework
Logo em seguida, precisamos compreender como funciona o Serverless Framework.
O Serverless Framework é uma ferramenta de código aberto que facilita o desenvolvimento, a implantação e o gerenciamento de aplicações sem servidor (serverless). Em um ambiente serverless, os desenvolvedores escrevem e implantam funções ou pequenas unidades de código que são executadas em resposta a eventos, como requisições HTTP, mudanças em bancos de dados, ou mensagens de filas, sem precisar gerenciar a infraestrutura subjacente, como servidores ou máquinas virtuais. É possível visualizar um exemplo de um arquivo do serverless framework abaixo. Note que é feito o uso de infraestrutura como código, ou seja, todas as modificações ficam em um código centralizado e versionado.
Criando uma lambda em Python com Flask e Serverless Framework
Vamos criar uma função Lambda simples em Python usando o framework Flask para criar uma API RESTful e o Serverless Framework para facilitar o deploy na AWS.
Pré-requisitos
- Conta AWS: Tenha uma conta AWS configurada e credenciais IAM configuradas localmente.
- Instalação do Serverless Framework:
npm install -g serverless
- Estrutura do Projeto: Primeiramente, crie uma estrutura básica de projeto:
mkdir flask-lambda
cd flask-lambda
Dentro desta pasta, crie os seguintes arquivos:
app.py
: Contém o código Flask para a aplicação.serverless.yml
: Arquivo de configuração do Serverless Framework.
Implementação – Criando uma lambda com Serverless Framework
- Instalação do Flask: Instale o Flask na sua máquina:
pip install flask
- Código Flask (app.py): Crie um arquivo
app.py
com o seguinte conteúdo:Este código define uma rota
/hello
que retorna uma mensagem JSON “Hello, world!” quando acessada. - Configuração do Serverless Framework (serverless.yml): Crie o arquivo
serverless.yml
com o seguinte conteúdo:Neste arquivo de configuração, estamos definindo uma função Lambda chamada
app
que será acionada por requisições HTTP GET no endpoint/hello
. - Deploy da Aplicação: Agora, use o Serverless Framework para fazer o deploy da sua aplicação na AWS:
serverless deploy
Este comando irá criar e configurar a função Lambda na AWS, bem como configurar o API Gateway para rotear solicitações HTTP para a função Lambda.
- Teste da Função Lambda: Após o deploy, o Serverless Framework irá fornecer o endpoint do API Gateway. Você pode fazer uma solicitação HTTP para o endpoint para testar a função:
curl https://<api-id>.execute-api.<region>.amazonaws.com/dev/hello
Você deverá receber uma resposta JSON com a mensagem “Hello, world!”.
Conclusão
Em conclusão, criar funções Lambda na AWS usando o Serverless Framework com Python e Flask é uma maneira eficiente de construir APIs serverless escaláveis e de fácil manutenção. Ao aproveitar a escalabilidade automática e a baixa latência proporcionadas pelo Lambda e API Gateway, você pode desenvolver rapidamente serviços orientados a eventos na nuvem sem se preocupar com a infraestrutura subjacente. Finalmente, experimente e explore outras possibilidades oferecidas pela AWS para desenvolver soluções mais robustas e integradas.
Espero que tenha gostado desse artigo – Criando uma lambda com serverless framework.
Sempre que desejar, acesse mais conteúdo igual a esse clicando aqui.