AWS recently announced two new capabilities for AWS Lambda, including console-to-IDE integration and remote debugging, which enable developers to build and debug serverless applications in their local development environments. With these capabilities, the company continues upon the earlier released enhanced in-console editing experience and the improved local integrated development environment (IDE) experience.
In the company’s view, when building serverless applications, developers prioritize two main areas: setting up local development environments and enhancing cloud debugging. Micah Walter, a Sr. solutions architect at AWS, explains:
While developers can bring functions from the console to their IDE, they’re looking for ways to make this process more efficient. Additionally, as functions interact with various AWS services in the cloud, developers want enhanced debugging capabilities to identify and resolve issues earlier in the development cycle, reducing their reliance on local emulation and helping them optimize their development workflow.
To address challenges for developers, the company introduces console-to-IDE integration, which streamlines the workflow from the AWS Management Console to Visual Studio Code (VS Code). The capability adds an “Open in VSCode” button to the Lambda console, enabling developers to quickly transition from viewing their function in the browser to editing it in their IDE.
(Source: AWS News blog post)
In addition to console-to-IDE integration, the company also introduces remote debugging, allowing developers to debug their functions with complete access to Amazon Virtual Private Cloud (VPC) resources and AWS Identity and Access Management (AWS IAM) roles.
(Source: AWS News blog post)
In a LinkedIn post, AWS Hero Luc van Donkersgoed expressed his enthusiasm for the two new capabilities for AWS Lambda:
Remote. Debugging. For. Lambda. This is the biggest change in Lambda since microsecond billing. You can set a breakpoint in VSCode on your machine, execute the function in the cloud, inspect its state, and step through the remote process.
However, Dull_Caterpillar_642 questioned the utility of such a feature in a mature workflow in a Reddit thread:
I’m curious how many people leverage these edit-and-deploy-from-IDE type toolsets. It’s always felt pretty shoot from the hip to me compared to my standard process of opening a PR to main, then having the CD pipeline deploy the changes.
In comparison, AWS’s main competitors, Microsoft and Google, offer similar local development capabilities for their functions. Azure Functions and Google Cloud Functions offer robust local development and debugging experiences, leveraging local runtimes and frameworks, such as Azure Functions Core Tools or the Google Cloud Functions Framework, to simulate the cloud environment.
Lastly, for developers interested in learning more about the two new capabilities for AWS Lambda, the company provides more details in the Lambda developer guide and the AWS Toolkit for VS Code documentation.