Serverless
Subindo a Aplicação com Serverless Framework
Este tutorial explica como fazer o deploy de uma aplicação com Serverless Framework já criada. Vamos configurar o ambiente, personalizar o arquivo serverless.yml
e usar os comandos necessários para subir a aplicação para a AWS.
Pré-requisitos
Antes de começar, você precisa ter os seguintes pré-requisitos configurados:
-
AWS CLI configurada com credenciais (acesso à AWS):
Forneça sua AWS Access Key, Secret Key, região (ex.:us-east-1
) e formato de saída (ex.:json
). -
Node.js e Serverless Framework instalados globalmente:
Passos para Subir a Aplicação com Serverless
- Acessando o diretório da aplicação
Entre no diretório onde a aplicação já foi criada com o Serverless Framework.
- Configurando o arquivo
serverless.yml
O arquivo serverless.yml
é o arquivo principal de configuração onde você define as funções Lambda, os recursos da AWS e eventos que disparam as funções.
service: tech-challenge
frameworkVersion: '3'
provider:
name: aws
region: sa-east-1
ecr:
images:
tech-challenge:
path: .
.
.
.
functions:
api:
image:
name: tech-challenge
events:
- httpApi:
path: /{proxy+} #Rota genérica, pois fará o redirecionamento para o Framework FastAPI via Magnum
method: ANY
plugins:
- serverless-dotenv-plugin
Explicação: - service: Nome do serviço ou aplicação. - provider: Definições do provedor de nuvem (AWS, no caso). - functions: Define as funções Lambda que serão implementadas. - events: O evento que aciona a função Lambda, no caso, uma requisição HTTP do API Gateway. - plugins: Caso você tenha dependências específicas, como em projetos Python.
- Verificando o
handler
O handler é o arquivo onde a função Lambda é implementada.
- Instalar dependências (se houver)
Caso você tenha dependências para o seu projeto (ex.: com pip
no Python ou npm
no Node.js), instale-as:
-
Execute o arquivo
requirements.txt
com pip e instale as dependencias do projeto localmente: -
Deploy da aplicação
Agora, com tudo configurado, basta rodar o comando para fazer o deploy da sua aplicação para a AWS:
Esse comando cria e configura os recursos necessários no AWS, como a função Lambda, API Gateway, e outros serviços que você definiu.
Saída esperada:
Após o deploy ser concluído, você verá um resultado semelhante a este:
Deploying tech-challenge to stage dev (sa-east-1)
✔ Service deployed to stack tech-challenge-dev (646s)
endpoint: ANY - https://xxxxx.execute-api.sa-east-1.amazonaws.com/{proxy+}
functions:
api: tech-challenge-dev-api
Monitor all your API routes with Serverless Console: run "serverless --console"
O link da API gerado será exibido na saída, e você poderá acessar o endpoint da sua função Lambda através do navegador ou ferramentas como Postman.
Comandos Importantes do Serverless Framework
-
Deploy da aplicação:
-
Visualizar as funções implantadas e recursos:
-
Remover a aplicação da AWS (excluir todos os recursos):
-
Ver logs das funções Lambda:
-
Invocar a função Lambda diretamente:
-
Testar localmente (para funções HTTP, por exemplo):