One of the best known examples of serverless computing on the market today is functions as a service (FaaS). Around 20% of enterprises are utilizing functions as a service today, and Gartner projects that number to grow to 50% by 2025. Thanks to the elasticity and flexibility offered by FaaS, it’s no wonder that AWS Lambda has seen explosive growth since its launch in 2014.
In October 2020, we announced our participation in Amazon’s public preview release of their AWS Lambda Runtime Extensions API by providing a Lambda extension for NodeJS and Python to handle the automatic setup of instrumentation for Lambda functions. Today, Amazon announced general availability of the AWS Lambda Runtime Extensions API. With this announcement, AppDynamics is happy to announce that the AppDynamics AWS Lambda Extension is generally available.
What Does This Mean for You?
AppDynamics is an AWS Lambda Ready solution for monitoring of AWS Lambda functions written in Java, NodeJS and Python, designed to provide our customers with comprehensive visibility into how Lambda functions are performing within their application’s ecosystem.
Previously, providing this visibility with the AppDynamics Tracer SDK required code changes in the Lambda function to enable monitoring. This required coordination with development teams to add in the necessary code, adding extra overhead to put instrumentation in place. By leveraging our AWS Lambda extension to automate instrumentation setup, DevOps and developer teams can focus more time innovating and optimizing their business-critical applications. Including Lambda functions in the application monitoring landscape allows customers to measure and baseline performance of those functions in the context of the application and alert when performance deviates from normal.
In the limited release version of the AppDynamics AWS Lambda Extension, we offered support for Lambda functions that are packaged in ZIP archives written in the following languages:
- NodeJS 10.x and later
- Python 3.6 and later
In December 2020, AWS announced support for packaging and deploying AWS Lambda functions as container images. Now we are happy to also provide support for Lambda functions written in the same languages that are packaged as container images.
Containers vs. Archives — What’s the Difference?
Many customers have extensive investments in container-based deployment and workflow tools. With support for packaging AWS Lambda functions as container images, development teams can reap the benefit of a more unified development and deployment process. In addition, container-based Lambda functions can now be up to 10 GB in size (a significant increase from the previous limit of 250 MB with archive-based packaging).
When an AWS Lambda function is packaged in an archive file, layers can be attached to the function via configuration. Container-based functions are treated as immutable entities. As a result, any desired layers must be a part of the container image. The AppDynamics AWS Lambda Extension can be easily incorporated into the container image build process for an AWS Lambda function.
Aside from that, everything else remains the same in terms of configuration. Prerequisites for Lambda monitoring are in the product documentation along with the required environment variables for serverless instrumentation and using the AppDynamics AWS Lambda Extension.
With a validated AWS Lambda Ready designation, AppDynamics has made it easier to support monitoring your serverless functions running in AWS. Developers and DevOps organizations can concentrate on the things that matter most for their business.