Serverless computing burst onto the cloud scene with the promise of transforming cloud operating models, taking the pay-as-you-go economics of the cloud to their logical extreme with consumption-based billing. Simply put, if your code doesn’t run, you don’t pay.
AWS Lambda, Amazon’s serverless compute offering, has seen explosive growth since its launch in 2014. The increase in Lambda adoption has brought a surge in demand for tools that measure the application code running inside these serverless environments.
Why Use Serverless Computing?
Serverless-based innovations don’t require forward capital budgeting, an advantage that works well with the dynamic investment agenda gaining currency with many CIOs. And for organizations with annual budget cycles, the fact that bills for serverless compute are usually an order of magnitude lower than equivalent EC2 bills—for the same service level—mitigates the perceived risk of cost unpredictability.
So with the business case for serverless established, it surely must be time to declare, “Traditional computing is dead, long live serverless!” Unfortunately, life is seldom so simple. The reality is that the quick fail-fast innovation made possible by serverless technology cannot exist in a vacuum. The value-driven iteration of new capabilities implied by dynamic investment means that these innovations—at least initially—need to be incremental enhancements on top of existing core capabilities.
We see this trend among our enterprise customers. AWS Lambda adoption is bringing innovations such as front-ending core systems with new Lambda-based open APIs (for example, open banking APIs), and microservices that wrap online store apps to incrementally modernize the user experience.
These developments present clear imperatives for a Lambda-based, APM-monitoring product.
We now provide comprehensive performance monitoring of both AWS Lambda functions and your other applications. Our flow map automatically maps the relationship between application services to provide deeper visibility into how serverless applications are impacting your business performance and application performance.
Benefits of Serverless APM
The ephemeral nature of serverless compute is problematic. The dependency it implies on the configuration of environmental characteristics (such as throttling limits) and the potentially complex interactions between various re-try behaviors, make serverless functions a tough monitoring challenge. And that’s before you add the inevitable dependencies on existing systems into the mix.
As I’ve discussed in the past, the promise of dynamically scaling AWS Lambda functions sounds too good to be true—and in many cases, it is. The end-to-end system is only as scalable as its tightest end-to-end bottleneck. This means end-to-end visibility is critical to managing technical risk in the overall system, however scalable the serverless components might be.
Serverless APM for AWS Lambda benefits organizations in many ways:
- Consumption-based pricing: The only way to preserve the benefits of AWS Lambda’s pay-as-you-go (PAYG) pricing model is to replicate it for serverless APM. So that’s precisely what we’ve done with Serverless APM for AWS Lambda.
- Unified monitoring: The ability to correlate end-to-end visibility within one platform. We allow you to dig deeper into the application calls between various services. Unlike other APM vendors, our agent automatically creates a service flow map and captures relevant metrics. Upstream and downstream calls are captured for deeper analysis.
Essentially, customers buy Serverless APM for AWS Lambda to assess:
- What is the user experience of my system? If it’s poor, how do I identify the root cause? Obviously, this experience will depend both on AWS Lambda and non-Lambda elements of the end-to-end solution.
- How do my new AWS Lambda components impact the existing backend systems?
- Minimize the cost impact of application deployments: AWS Lambda’s strength is its economy. It costs less to use AWS Lambda functions than to deploy an application to Amazon EC2 instances. (It’s important to note that customer costs comprise the data collection and egress costs, as well as the APM vendor licensing or subscription costs.)
- Faster resolution: Identify issues and fix them faster than before without depending on historical log analysis. Leverage auto-instrumentation for all layers of your application stack.
- Full data fidelity: It’s very important that the metric data you use to monitor the health of your services is not based on sampling a subset of requests, since—as always in user-experience monitoring—understanding performance outliers is key, and random sampling will never get you there.
Due to our core focus on end-to-end instrumentation of hybrid application systems, Serverless APM for AWS Lambda does not leverage cloud-only observability solutions like Amazon CloudWatch logs or AWS X-Ray; rather, it seamlessly traces transactions at the application layer. This has the additional benefit of avoiding the cloud operating costs incurred by the end user for data storage and retrieval required by serverless APM.
Serverless APM for AWS Lambda is Here!
We’re delighted to announce that AppDynamics Serverless APM for AWS Lambda, which supports instrumenting AWS Lambda applications and microservices in Java, is immediately available for subscription to our SaaS APM customers. In the coming months, we’ll open a beta program for Serverless APM on Node.js functions.
How to Set Up Your AWS Lambda Functions in AppDynamics
As an existing user of AppDynamics, adding Java AWS Lambda functions to your application flow maps consists of a few easy steps:
- Subscribe to the Lambda monitoring service in AWS Marketplace.
- Instrument the Lambda code and any outbound calls it makes using the AppDynamics tracer.
- Run load through your system.
- View the flow map in your Controller. In the example flow map below, the traffic to the AWS Lambda system originates from an upstream Java application. You don’t see node counts in the serverless tiers because the serverless runtime manages a set of ephemeral nodes on your behalf.
Enjoy your familiar AppDynamics experience, spanning conventional and serverless components based on your architecture.
AWS Marketplace and Competencies
Our rapid growth on AWS, additional AWS Competencies, and cloud monitoring solutions are helping to fuel our customers’ success. We’re a featured vendor of full-stack performance monitoring on the AWS Marketplace.
We’ve also added two new AWS Competencies to our existing AWS Mobile Competency, differentiating us as an AWS Partner Network (APN) member that delivers specialized technical proficiency and proven customer success in monitoring and performance.
Our two newest AWS Competencies include:
- AWS Migration Competency — AppDynamics provides solutions and expertise to help businesses move successfully to AWS, through all phases of complex AWS migration projects, including discovery, planning, migration and operations.
- AWS DevOps Competency — AppDynamics delivers solutions and deep expertise to help businesses implement continuous integration and continuous delivery (CI/CD) practices and automate infrastructure provisioning and management with configuration management tools on AWS.
Organizations continue to move to the cloud for scale and agility, but gaining a clear view of performance in cloud environments can be a challenge. To manage, monitor, and optimize the complex and ever-changing application and infrastructure environment, businesses need a comprehensive, full-stack monitoring solution for visibility into all of their cloud-based resources.
Running NodeJS in AWS Lambda? You’re in luck! In addition to supporting Java, we’re currently beta-testing our support for NodeJS, too. You can participate by filling out our simple sign-up form. An AppDynamics representative will contact you about how to get started with the Serverless APM for AWS Lambda NodeJS beta program.
Sign up today and experience the power of end-to-end Business Transaction tracing through your AWS Lambda microservices. And be sure to read how AppDynamics is accelerating AWS app migration for enterprises with 300% growth of our cloud-native architecture adoption.