Datadog this week published a report that details a major spike in the consumption of serverless computing frameworks since the start of the COVID-19 pandemic.
Based on an analysis of usage of the Datadog cloud service for monitoring IT environments, the report finds usage of serverless computing frameworks on all three of the major cloud platforms is on the rise.
For example, the report finds, on average, functions that are required to invoke the Amazon Web Services (AWS) Lambda serverless computing framework were invoked by developers 3.5 times more often per day at the start of 2021 than they were two years prior. All told, IT organizations using AWS Lambda functions ran on average for a total of 900 hours a day.
The number of organizations running Azure Functions on the Microsoft public cloud, meanwhile, climbed from 20 to 36%, while nearly a quarter of organizations employing Google Cloud now also make use of Cloud Function.
Datadog, for the purpose of this report, considers a company to have adopted AWS Lambda, Azure Functions, or Google Cloud Functions if they ran at least five distinct functions in a given month. A company was considered to be using a cloud service provider if they ran at least five distinct serverless functions or five distinct virtual machines (VMs) in a given month. Datadog randomly sampled usage data and computed the average daily invocations per function for each quarter from 2019 to the start of 2021.
The most widely employed programming languages employed on AWS Lambda are Python (58%) and Node.js (31%). The report also finds most organizations at least have a foundation in place to invoke serverless frameworks spanning multiple clouds. The open-source Serverless Framework is used by over 90% of organizations that manage their serverless resources using AWS CloudFormation. That compares to 19% using a vanilla CloudFormation, 18% use AWS Cloud Development Kit, and 13% using AWS Serverless Application Model (SAM).
Among the CloudFormation stacks used in serverless applications, more than half of functions (57%) are not deployed with CloudFormation.
In many instances, it’s apparent some developers are building entire applications using functions that invoke serverless computing frameworks, while others are using them to invoke a specific service to extend an application running either in a container or on a virtual machine says Stephen Pinkerton, a Datadog product manager.
In the latter case, reliance on the serverless platform eliminates the need to embed, for example, analytics code within the applications when a remote cloud service can be invoked via an API.
Will Developers Go Entirely Serverless?
It’s unclear to what degree developers may opt to build entirely using functions to invoke a serverless computing framework. Functions are small pieces of code that are challenging to manage and orchestrate in large numbers. However, the report also notes developers are using tools such as AWS Step Functions to build event-driven workflows spanning multiple Lambda functions and AWS services. The Datadog report suggests the average Step Functions workflow contains four Lambda functions, with more than 40% of workflows executing in under a minute. “Serverless is becoming a part of the developer workflow,” says Pinkerton.
Overall, the Datadog report notes that in 2020, the median Lambda invocation took 60 milliseconds, about half the time it did in 2019. The report also notes a quarter of organizations are using Amazon CloudFront to invoke the [email protected] service to drive more personalized application experiences.
Mastery of serverless computing frameworks, however, is far from being universal. The Datadog report notes over half of the functions use less than 80% of their configured Provisioned Concurrency, with only 40% using their entire allocation. The result is a lot of unnecessary cold starts for functions that are supposed to be driving a near real-time application experience. Datadog suggests developers should employ Application Auto Scaling offers to avoid this issue.
Regardless of how efficiently serverless computing frameworks are employed, it’s clear they are now commonly employed by developers. What remains to be seen is what percentage of workloads wind up running on them in the months and years ahead.