Recentemente, a AWS trouxe uma grande novidade que promete simplificar a vida de desenvolvedores que utilizam o AWS Lambda. Agora, é possível integrar o AWS Lambda com o GitHub Actions, o que significa que a gente pode fazer a implementação de funções Lambda de uma forma muito mais direta e prática. Essa mudança vem para acabar com a necessidade de escrever scripts personalizados e lidar com uma série de detalhes manuais que, vamos combinar, consomem tempo e muitas vezes geram erros.

O que muda com a integração?

A nova funcionaliadde permite que as equipes de desenvolvimento realizem o deploy de suas funções Lambda diretamente de seus repositórios no GitHub, utilizando configurações declarativas nos workflows do GitHub Actions. Isso é um passo enorme para facilitar a vida de quem trabalha com aplicações serverless. Agora, a implementação pode ser feita com arquivos .zip ou imagens de contêiner, o que oferece mais flexibilidade.

Como funciona na prática

Ao configurar o workflow no GitHub Actions, você pode definir parâmetros como nome da função, diretório dos artefatos de código, runtime e até mesmo variáveis de ambiente. Uma das partes mais legais dessa integração é o suprte a autenticação OIDC (OpenID Connect), que elimina a necessidade de armazenar credenciais AWS como segredos de longa duração. Isso não só aumenta a segurança, mas também torna o processo mais ágil.

Por exemplo, você pode criar um arquivo YAML que define o processo de deploy da sua função Lambda, seguindo um formato bem simples e direto. Um exemplo básico de como isso pode ser feito é:

name: Deploy AWS Lambda
on:
  push:
    branches: 
      - main
jobs:
  deploy:
    runs-on: ubuntu-latest
    permissions:
      id-token: write
      contents: read
    steps:
      - uses: actions/checkout@v4
      - name: Configure AWS credentials
        uses: aws-actions/configure-aws-credentials@v4
        with:
          role-to-assume: arn:aws:iam::123456789012:role/GitHubActionRole
          aws-region: us-east-1
      - name: Deploy Lambda Function
        uses: aws-actions/aws-lambda-deploy@v1
        with:
          function-name: my-lambda-function
          code-artifacts-dir: ./dist

Dicas avançadas para um deploy eficaz

Agora que você já sabe como funciona a integração, aqui vão algumas dicas que podem te ajudar a tirar o máximo proveito dessa nova funcionalidade:

Considerações finais

Com a nova integração entre AWS Lambda e GitHub Actions, o cenário de deploy de funções serverless se torna muito mais simples e direto. É uma mudança que, na minha opinião, era extremamente necessária e que vai ajudar a reduzir o tempo e esforço gastos em tarefas repetitivas. No entanto, ainda é importante lembrar que essa ferramenta não vai resolver todos os problemas sozinha. O gerenciamento de permissões e a configuração de triggers ainda exigem atenção. A inovação é, sim, bem-vinda, mas o cuidado com a arquitetura continua sendo fundamental.

Fiquem atentos às novidades e experimentem incorporar essa prática nos seus projetos. A tecnologia está evoluindo rapidamente, e quem não se adapta, fica para trás!