Criando uma Lambda com Serverless Framework

AWS Lambda

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.

  1. 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.
  2. 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.
  3. 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.

Possibilidades com AWS Lambda - criando uma lambda com serverless framework

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.

Exemplo de arquivo serverless.yaml

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

  1. Conta AWS: Tenha uma conta AWS configurada e credenciais IAM configuradas localmente.
  2. Instalação do Serverless Framework:
    npm install -g serverless
  3. 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

  1. Instalação do Flask: Instale o Flask na sua máquina:
    pip install flask
  2. Código Flask (app.py): Crie um arquivo app.py com o seguinte conteúdo:

    Arquivo app.py

    Este código define uma rota /hello que retorna uma mensagem JSON “Hello, world!” quando acessada.

  3. Configuração do Serverless Framework (serverless.yml): Crie o arquivo serverless.yml com o seguinte conteúdo:

    Configuração do serverless.yaml - criando uma lambda com serverless framework

    Neste arquivo de configuração, estamos definindo uma função Lambda chamada app que será acionada por requisições HTTP GET no endpoint /hello.

  4. 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.

  5. 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.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima