Development tools for Lambda - Amazon Lambda
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Development tools for Lambda

You have access to a variety of tools that increase productivity and ease-of-use throughout the entire development lifecycle. This section provides information on tools that help many Lambda customers design, develop, and manage their applications. From local development in your IDE to deploying and managing complex serverless applications, these tools help you streamline your workflow, improve code quality, and accelerate the development of robust Lambda-based solutions.

  • Local development—Write and test Lambda functions faster in your preferred development environment. The Amazon Toolkit for VS Code enables local function development, debugging, and testing with direct deployment capabilities to Lambda.

  • Infrastructure as Code (IaC)—Deploy and manage serverless applications consistently from local testing to production. Amazon SAM, Amazon CDK, and Amazon CloudFormation let you define and manage your serverless infrastructure through code for consistent, version-controlled deployments.

  • GitHub Actions—Automate Lambda deployments directly from your code repository. GitHub Actions allows you to set up workflows that automatically deploy your Lambda functions whenever you push code or configuration changes, simplifying your CI/CD pipeline.

  • Powertools for Amazon Lambda—Build production-ready serverless applications with less custom code. Powertools for Amazon Lambda (also referred to as Powertools for Amazon) is an open-source developer toolkit that simplifies implementing serverless best practices such as observability, parameter retrieval, and idempotency across Python, TypeScript, Java, and .NET.

  • Workflows and events—Coordinate Lambda functions with Amazon services, APIs, and external systems. Lambda provides two orchestration options: Lambda durable functions for application-centric orchestration using standard programming languages within Lambda, and Amazon Step Functions for workflow-centric orchestration with visual design across multiple services. Amazon EventBridge provides event management capabilities for event-driven architectures. For help choosing an orchestration approach, see Durable functions or Step Functions.

Local development tools

Local development environments enable you to work offline and leverage advanced IDE features while iterating quickly on your Lambda functions. These tools help you debug complex functions and develop in environments with limited connectivity. They also support team collaboration and integration with version control systems.

For more information on developing Lambda functions locally, see Developing Lambda functions locally with VS Code. This page describes how to move Lambda function development from the Amazon console to Visual Studio Code, which provides a rich development environment with features like debugging and code completion. To make the transition, you need to set up the Amazon Toolkit for Visual Studio Code and credentials, after which you can use advanced features in VS Code while maintaining the ability to deploy directly to Amazon.

Local development for Lambda provides several key capabilities:

  • Use Visual Studio Code integration with the Lambda console

  • Configure local Lambda development environments

  • Debug and test functions locally

  • Apply best practices for local function management

For more information, see Developing Lambda functions locally with VS Code.

Infrastructure as Code (IaC) tools

With Infrastructure as Code (IaC) tools, you can define and manage your serverless architecture using code. This approach helps maintain consistency across environments, lets you control your infrastructure versions, and facilitates DevOps practices. IaC is especially valuable for automating deployments, ensuring consistent environments, and managing multi-region deployments.

Key IaC tools and concepts for Lambda include frameworks for template creation, deployment management, and best practices for serverless infrastructure:

  • Core IaC principles for Lambda development

  • Amazon CloudFormation, Amazon SAM, and Amazon CDK capabilities

  • Tool selection criteria and comparison

  • Best practices for Lambda IaC implementation

Whether you're working independently on a small project or as part of a large team managing enterprise-scale serverless applications, these development and deployment tools can help you write, deploy, and manage your Lambda functions more effectively.

For more information, see Using Lambda with infrastructure as code (IaC).

GitHub Actions tools

GitHub Actions provides automated deployment capabilities for your Lambda functions directly from your code repository. By creating workflow files in your repository, you can automatically deploy Lambda functions whenever code or configuration changes are pushed, streamlining your continuous integration and continuous deployment (CI/CD) pipeline. The Deploy Lambda Function action offers a declarative YAML interface that simplifies the deployment process, handles Amazon credentials through OpenID Connect (OIDC), and supports various deployment scenarios including code updates, configuration changes, and dry run validations. This integration enables teams to maintain a consistent and automated deployment process while leveraging their existing GitHub workflows.

For more information, see Using GitHub Actions to deploy Lambda functions.

Powertools for Amazon Lambda

Powertools for Amazon is an open-source developer toolkit that helps you implement serverless best practices with minimal custom code. Available for Python, TypeScript/Node.js, Java, and .NET, it provides utility functions, decorators, and middleware that streamline common Lambda development tasks. The toolkit includes built-in observability features like structured logging, tracing, and metrics collection, such as utilities for parameter retrieval, secrets management, and idempotency patterns. These tools align with Amazon well-architected best practices and help developers build production-ready serverless applications more efficiently. By reducing boilerplate code and standardizing common patterns, Powertools for Amazon enables teams to focus on business logic while maintaining consistent implementation of serverless best practices across their applications.

For more information, see Powertools for Amazon Lambda.

Workflow and event management tools

Lambda applications can be used in orchestration of complex workflows and handling of various events. Amazon provides specialized tools to help you manage these aspects of serverless development. Learn about Amazon Step Functions for workflow orchestration and Amazon EventBridge for event management, and how to integrate them with your Lambda functions. These tools can significantly enhance the scalability and reliability of your serverless applications by providing robust state management and event-driven architectures. By leveraging these services, you can build more sophisticated and resilient Lambda-based solutions that can handle complex business processes and react to a wide range of system and application events.

For more information, see Managing Lambda workflows and events.