Serverless computing
lastmod 2025-06-11created 2018-08-3113 edits
Serverless computing is a cloud computing execution model in which the cloud provider dynamically manages the allocation of machine resources. Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity. It is a form of utility computing.
Serverless computing is a misnomer, since servers are still required. The name "serverless computing" is used because server management and capacity planning decisions are completely hidden from the developer or operator. Serverless code can be used in conjunction with code deployed in traditional styles, such as microservices. Alternatively, applications can be written to be purely serverless and use no provisioned servers at all.
About
Taken literally, serverless means "there is no server". In practice, however, it is not that there is no server. It simply means that you do not set up a server on a computer or virtual machine to perform a particular task and process it through that server.
Instead, work is processed by relying on BaaS (Backend as a Service) or FaaS (Function as a Service). Services that provide BaaS include Firebase, Parse (now discontinued), and Kinvey, and services that provide FaaS include AWS Lambda, Azure Functions, and Google Cloud Functions.
DataDog's State of Serverless report
Updated June 2022.
- More than half of organizations on each cloud have adopted serverless.
- In 2020 it exceeded 50% on AWS; now it exceeds 50% on all of AWS, Azure, and Google Cloud.
- AWS: AWS Lambda, AWS App Runner, ECS Fargate, EKS Fargate
- Azure: Azure Functions, AKS running on Azure Container Instances
- Google Cloud: Google Cloud Functions, Google App Engine, Google Cloud Run
- Python and Node.js still dominate among Lambda users.
- These two languages have been supported since the early days of Lambda.
- When first adopting Lambda, people mainly use Python and Node.js, which are convenient and well documented.
- Once they become familiar with Lambda, they are more likely to migrate workloads not written in Python or Node.js to Lambda.
- As a result, adoption of Go and Java on Lambda has grown, and more than 30% of Lambda organizations use these two languages.
- More than 60% of large organizations deploy Lambda in at least 3 languages.
- This shows there is no one-size-fits-all way to build serverless applications, and means different runtimes are used depending on the use case.
- The AWS technologies that invoke Lambda functions most are API Gateway and SQS.
- 80% of Lambdas invoked by API Gateway are single-purpose functions.
- The two patterns for serving APIs from Lambda functions are monolithic functions and single-purpose functions.
- Monolithic functions serve multiple HTTP endpoints and have internal routing logic to run multiple types of operations.
- Single-purpose functions respond to only one HTTP method/endpoint.
- This shows that single-purpose functions have many advantages.
- Single-purpose functions are isolated from others, can be operated more safely, and have shorter cold start times.
- One in five Lambda users deploys with container images.
- In 2020, AWS began supporting deployment to Lambda with Docker container images in addition to zip files.
- Since then, combining the advantages of serverless and container technologies has steadily grown to 20%.
- The limit for zip files is 250MB, but container images can be up to 10GB.
- More than 20% of Lambda users also use ECS Fargate.
- As Lambda became popular, users looked for ways to expand serverless and came to use ECS Fargate as well.
- Use of ECS EC2 is decreasing while use of ECS Fargate is increasing
- Among the ways to deploy serverless applications on Google Cloud, Google Cloud Run is growing fastest.
- 40% of DataDog customers using Google Cloud have adopted Google Cloud Functions, but that adoption rate is only about 3% higher than Google Cloud Run.
- Azure Functions is the most popular serverless product on Azure, but adoption of Azure Container Instances is growing rapidly.
- More than 40% of Azure customers use Azure Functions, Azure's FaaS product.
- Adoption of Azure Container Instances, a serverless container product, has grown significantly to nearly 30%.
Category
Serverless Frameworks
Serverless frameworks are designed to make it easier to build, test, and deploy serverless applications. Some notable ones are:
- Serverless computing (Architecture)
- Serverless Framework (nodejs library)
- Kubeless
- Fission
- Funktion
- Nuclio
- OpenFaas
- Oracle Fn
- Apache OpenWhisk
- IronFunctions
- OpenLambda
- architect
- Nitric - Deploy to AWS / Azure / Google Cloud with the same code
- Rivet - Open-source serverless platform
Favorite site
- Wikipedia (en) Serverless computing
- What is serverless architecture (Serverless)?
- Cost comparison of serverless and servers
- Serverless Cost Calculator - Serverless cost calculator
- Calculates and compares costs of major serverless offerings: AWS Lambda, Azure Functions, Google Cloud Functions, IBM OpenWhisk
- Calculates including number of executions, execution time, memory usage, and Free-Tier
- Separate costs per Request / Compute and the total