Report: AWS Lambda Popular Among Enterprises, Container Users
A recent survey of Amazon Web Services (AWS) customers offers a general profile of the typical AWS Lambda user -- namely, a large enterprise that runs containers and uses Python.
That's the uptake of a report, "The State of Serverless," released this week by Datadog, a provider of cloud asset monitoring solutions for DevOps teams. Datadog assessed the AWS usage data of its "thousands" of customers to determine when, how and why they use Lambda, AWS' serverless computing platform that first debuted in late 2014. Datadog deemed a customer to be a Lambda adopter if it "ran at least five distinct Lambda functions in a given month," according to its methodology notes.
Lambda effectively untethers the process of running code from the need to maintain physical infrastructure. It's event-driven, allowing organizations to set specific parameters that trigger Lambda to run their code automatically.
According to Datadog's findings, Lambda is now "the most mature and widely adopted serverless platform in our user base and beyond," in use by nearly 50 percent of all the AWS users in Datadog's customer pool in January 2020. That's up from 35 percent in January 2019.
Moreover, Lambda is most commonly used by enterprises (about 80 percent), compared to "small," "medium" or "large" organizations. Generally, the larger the organization, the more "prevalent" the use of Lambda, Datadog found.
"Lambda is no longer limited to cloud-native early adopters or niche use cases," the report said. "On the contrary, serverless functions are now in widespread use across a variety of companies with an infrastructure footprint in AWS."
Another finding of note: Python and Node.js are by far the most popular languages used for Lambda functions. Python clocks in at 47 percent of all functions while Node.js accounts for 39 percent. Java is a distant third place with under 10 percent. Datadog attributes the dominance of Python and Node.js to their overall popularity, as well as to their entrenchment in the Lambda service itself.
"AWS first launched Lambda in preview in 2014 with Node.js as the first supported runtime, before adding Java and Python support in 2015," the report said. "Support for C# (via .NET Core), Go, and Ruby were added more recently, in 2018."
Lambda also carries a lot of weight among container users; about 80 percent of companies that run containers are also Lambda adopters, the report found. There's a good reason for this correlation, according to Datadog:
Although serverless functions and containers are two very different environments, they tend to be embraced for similar reasons, such as abstracting away infrastructure concerns for ease of operations. There are some use cases in which Lambda and container infrastructure are directly connected (e.g., using Lambda functions to trigger Amazon Elastic Container Service tasks), but many more organizations may be running them separately to fill different needs. For example, a company might run the bulk of their application in a container cluster, while offloading bursty, short-running tasks (such as payment processing) to serverless functions.
The full report on Lambda usage trends is available from Datadog here.