Ferramentas de desenvolvimento para o Lambda
Você tem acesso a uma variedade de ferramentas que aumentam a produtividade e a facilidade de uso em todo o ciclo de vida do desenvolvimento. Esta seção fornece informações sobre ferramentas que ajudam muitos clientes do Lambda a projetar, desenvolver e gerenciar suas aplicações. Do desenvolvimento local em seu IDE à implantação e gerenciamento de aplicações complexas de tecnologia sem servidor, essas ferramentas ajudam você a otimizar seu fluxo de trabalho, melhorar a qualidade do código e acelerar o desenvolvimento de soluções robustas baseadas em Lambda.
-
Desenvolvimento local — Escreva e teste funções do Lambda com mais rapidez em seu ambiente de desenvolvimento preferido. O AWS Toolkit for VS Code permite o desenvolvimento, a depuração e o teste de funções locais com recursos de implantação direta no Lambda.
-
Infraestrutura como Código (IaC) — Implante e gerencie aplicações com tecnologia sem servidor de forma consistente, desde os testes locais até a produção. AWS SAM, AWS CDK e AWS CloudFormation permitem que você defina e gerencie sua infraestrutura sem servidor por meio de código para implantações consistentes e com controle de versão.
-
GitHub Actions — Automatize as implantações do Lambda diretamente do seu repositório de código. O GitHub Actions permite que você configure fluxos de trabalho que implantam automaticamente suas funções do Lambda sempre que você envia alterações no código ou na configuração, simplificando seu pipeline de CI/CD.
-
Powertools para AWS Lambda — Crie aplicações com tecnologia sem servidor prontas para produção com menos código personalizado. As Powertools para AWS Lambda (também conhecidas como Powertools para AWS) é um kit de ferramentas de desenvolvedor de código aberto que simplifica a implementação de melhores práticas de tecnologia sem servidor, como observabilidade, recuperação de parâmetros e idempotência em Python, TypeScript, Java e .NET.
-
Fluxos de trabalho e eventos — Coordene as funções do Lambda com serviços da AWS, APIs e sistemas externos. AWS Step Functions e o Amazon EventBridge fornecem recursos de orquestração e gerenciamento de eventos para coordenar fluxos de trabalho complexos de aplicações baseadas em Lambda.
Ferramentas de desenvolvimento local
Os ambientes de desenvolvimento local permitem que você trabalhe off-line e aproveite os atributos avançados do IDE enquanto itera rapidamente em suas funções do Lambda. Essas ferramentas ajudam você a depurar funções complexas e a desenvolver em ambientes com conectividade limitada. Elas também oferecem suporte à colaboração e integração da equipe com sistemas de controle de versão.
Para obter mais informações sobre o desenvolvimento das funções do Lambda localmente, consulte Desenvolver funções do Lambda localmente com o VS Code. Esta página descreve como mover o desenvolvimento da função do Lambda do console da AWS para o Visual Studio Code, que fornece um ambiente de desenvolvimento avançado com atributos como depuração e preenchimento de código. Para fazer a transição, você precisa configurar o AWS Toolkit for Visual Studio Code e as credenciais e, em seguida, usar os atributos avançados do VS Code enquanto mantém a capacidade de implantar diretamente na AWS.
O desenvolvimento local do Lambda fornece vários recursos importantes:
-
Use a integração do Visual Studio Code com o console do Lambda
-
Configure ambientes de desenvolvimento locais do Lambda
-
Depure e teste funções localmente
-
Aplique as práticas recomendadas para o gerenciamento local de funções
Para obter mais informações, consulte Desenvolver funções do Lambda localmente com o VS Code.
Infraestrutura como código (IaC)
Com as ferramentas de Infraestrutura como Código (IaC), você pode definir e gerenciar sua arquitetura com tecnologia sem servidor usando o código. Essa abordagem ajuda a manter a consistência em todos os ambientes, permite que você controle suas versões de infraestrutura e facilita as práticas de DevOps. O IaC é especialmente valioso para automatizar implantações, garantir ambientes consistentes e gerenciar implantações em várias regiões.
As principais ferramentas e conceitos de IaC para Lambda incluem estruturas para criação de modelos, gerenciamento de implantação e práticas recomendadas para infraestrutura com tecnologia sem servidor:
-
Princípios básicos de IaC para o desenvolvimento no Lambda
-
Recursos do AWS CloudFormation, do AWS SAM e do AWS CDK
-
Critérios de seleção e comparação de ferramentas
-
Práticas recomendadas para implementação da IaC no Lambda
Se você está trabalhando de forma independente em um projeto pequeno ou como parte de uma grande equipe gerenciando aplicações com tecnologia sem servidor em escala empresarial, essas ferramentas de desenvolvimento e implantação podem ajudar você a escrever, implantar e gerenciar suas funções do Lambda com mais eficiência.
Para obter mais informações, consulte Usar o Lambda com a infraestrutura como código (IaC).
Ferramentas do GitHub Actions
O GitHub Actions fornece recursos de implantação automatizada para suas funções do Lambda diretamente do seu repositório de código. Ao criar arquivos do fluxo de trabalho em seu repositório, você pode implantar automaticamente as funções do Lambda sempre que alterações no código ou na configuração forem enviadas, simplificando seu pipeline de integração contínua e implantação contínua (CI/CD). A ação Deploy Lambda Function oferece uma interface YAML declarativa que simplifica o processo de implantação, manipula as credenciais da AWS por meio do OpenID Connect (OIDC) e oferece suporte a vários cenários de implantação, incluindo atualizações de código, alterações de configuração e validações de dry run. Essa integração permite que as equipes mantenham um processo de implantação consistente e automatizado enquanto aproveitam seus fluxos de trabalho existentes no GitHub.
Para obter mais informações, consulte Como usar o GitHub Actions para implantar funções do Lambda.
Powertools para AWS Lambda
As Powertools para AWS são um kit de ferramentas de desenvolvedor de código aberto que ajudam você a implementar as melhores práticas para tecnologia sem servidor com o mínimo de código personalizado. Disponível para Python, TypeScript/Node.js, Java e .NET, elas fornecem funções de utilitário, decoradores e middleware que simplificam as tarefas comuns de desenvolvimento do Lambda. O kit de ferramentas inclui recursos de observabilidade integrados, como registro de log estruturado, rastreamento e coleta de métricas, além de utilitários para recuperação de parâmetros, gerenciamento de segredos e padrões de idempotência. Essas ferramentas alinham-se às melhores práticas de AWS Well-Architected e ajudam os desenvolvedores a criar aplicações com tecnologia sem servidor prontas para produção com mais eficiência. Ao reduzir o código clichê e padronizar padrões comuns, as Powertools para AWS permitem que as equipes se concentrem na lógica de negócios e, ao mesmo tempo, mantenham a implementação consistente das melhores práticas para tecnologia sem servidor em suas aplicações.
Para obter mais informações, consulte Powertools para AWS Lambda.
Ferramentas de gerenciamento de fluxo de trabalho e eventos
As aplicações Lambda podem ser usadas na orquestração de fluxos de trabalho complexos e no tratamento de vários eventos. A AWS fornece ferramentas especializadas para ajudar você a gerenciar esses aspectos do desenvolvimento com tecnologia sem servidor. Saiba mais sobre AWS Step Functions para orquestração de fluxo de trabalho e o Amazon EventBridge para gerenciamento de eventos e como integrá-los às suas funções do Lambda. Essas ferramentas podem melhorar significativamente a escalabilidade e a confiabilidade de suas aplicações com tecnologia sem servidor, fornecendo gerenciamento de estado robusto e arquiteturas orientadas por eventos. Ao aproveitar esses serviços, você pode criar soluções mais sofisticadas e resilientes baseadas no Lambda, que podem lidar com processos de negócios complexos e reagir a uma ampla variedade de eventos de sistemas e aplicações.
Para obter mais informações, consulte Gerenciar fluxos de trabalho e eventos do Lambda.