Serverless computing is a fairly recent innovation. In essence, it provides an abstraction layer between server resources and the functions they provide and is sometimes called function-as-a-service (FaaS).
The functions of the server are provided via the cloud to enable a simpler, more cost-effective way to build and operate applications. This makes it easier to accomplish tasks associated with servers, such as provisioning, scaling, and management of the infrastructure that is required to run the application.
These functions are offloaded from the end users and happen automatically in the background. This leads to greater simplicity of resource allocation and makes it possible for developers, among others, to focus on core duties, rather than figuring out the underlying infrastructure needed to operate and support their apps.
Here are some of the top trends in the serverless computing market:
1. Serverless growth
Serverless computing is popular: 50% of AWS users surveyed in 2020 said they were using some degree of serverless capabilities.
That number has risen sharply over the past two years.
The current estimate is that this evolving market is worth around $8 billion, up from $1.9 billion in 2016.
2. Faster applications
One of the reasons so many are gravitating to serverless computing is that it allows them to build applications faster.
As serverless computing eliminates the need to manage the underlying infrastructure, those engaged in the creation of applications are free from distractions, such as the coding associated with storage and compute resources.
“This approach greatly simplifies the process of creating and deploying applications, as it enables developers to increase their focus on the value to the core of the business, increase their productivity, and bring products to market faster, since the overhead tasks related to infrastructure are abstracted away,” said Naina Singh, principal product manager, Red Hat.
“Serverless functions take this even further by eliminating typical networking code and other boilerplate typically required by cloud-native applications.”
3. Dynamic scaling
Dynamic scaling, too, is another of the trends driving serverless adoption.
Those engaged in serverless computing find that it facilitates easier and more dynamic scaling.
For example, the Knative open-source framework is used by many serverless vendors, including Red Hat OpenShift Serverless.
It offers a container-based serverless solution on top of Kubernetes. As a result, scaling can be accomplished based on actual user demand, moving both to and from zero with relative ease.
4. Containing costs
Serverless can sometimes provide a smart way to contain infrastructure costs.
As it uses a pay-per-use model, developers and others may find that it is cheaper to buy serverless resources than to maintain a fixed quantity of servers.
If the compute resources are only needed for a short time, why build a supporting infrastructure internally? This also opens the door to greater process independence.
By isolating the various parts of the application using the event-based system of serverless computing, bugs and other problems are contained within a localized area. This can be a great help to developers.
5. Stateless yes, stateful no
Serverless computing doesn’t work well in every use case.
Stateless use cases are the best fit for a serverless architecture, said Singh with Red Hat.
“While the serverless approach is a perfect match for stateless applications, it takes some extra effort to allow stateful applications (like storing session state in memory between two requests) to run in a serverless way, which is not always possible,” Singh said.
“Stateless use cases are best fit for serverless architecture and that puts the burden of managing state on users by other means.”
Applications with non-uniform access characteristics and highly variable traffic patterns, too, are good fits for serverless environments.
If the business is dealing with seasonal and short-term spikes, such as holidays or financial reporting, serverless can cut costs as a company pays for that short period of usage.
That’s why startups appear to be gravitating to serverless computing in large numbers. During their early days, they often seek to avoid paying for equipment. Serverless offers a way to build apps and then establish a customer base that provides enough revenue to support the build out of internal infrastructure.
“A perfect use case for the serverless paradigm is for applications with non-uniform access characteristics with a spiky traffic shape,” Singh said.
“For example, a shop selling Christmas cards won’t have to pay for the web shop when it is not used during summer. Serverless applications are also perfect for experimentation or exploring a startup idea, as the deployment costs directly correlate with usage numbers, so that the investment risk is minimized.”
But those in heavily regulated industries should probably avoid serverless, as it can pose compliance issues due to its multi-tenant architecture. All it takes is one misconfiguration and data exposure or other security or compliance problems could materialize.