Serverless computing is a software architecture model in which a cloud service provider runs the server for a customer and dynamically manages the allocation of computing resources. The term “serverless” is a misnomer, in the sense that servers are still involved in the process.
Pricing for these types of services is based on the actual amount of resources an application consumes rather than on pre-purchased units of capacity.
The serverless architecture market totaled an estimated $4.25 billion in 2018 and is expected to reach $14.93 billion by 2023, a compound annual growth rate (CAGR) of 29% during the forecast period, according to a 2018 report by research firm Markets and Markets. North America is expected to account for the largest market share during the forecast period, due in part to the early adoption of cloud services.
The major factors expected to drive growth of the market include the elimination of the need to manage servers, which reduces infrastructure costs and eases deployment, management, and execution. Also helping to drive growth is the proliferation of microservices architectures.
Automation and integration services play a major role in the deployment of serverless architecture, according to Markets and Markets. Automation services help efficiently manage microservices—deployed on hybrid IT platforms—to provide faster response along with optimum use of computing resources.
Gartner is also bullish on serverless computing; the research firm included serverless computing as one of its top 10 trends impacting infrastructure and operations for 2019, and it says the emerging software architecture model promises to eliminate the need for infrastructure provisioning and management.
Appeal of serverless computing for IT administrators
Serverless has a great attraction not just for application developers, but also for systems operations personnel, says Ken Corless, principal in the cloud practice at Deloitte Consulting.
Whether offered by hyperscale cloud providers or implemented on-premise with various solutions on the market, the goal of serverless computing is the same: “ruthless automation and self-service to speed the software development lifecycle,” Corless says.
For IT administrators, serverless reduces the “request-response” cycle of ticket-based workloads and allows administrators to focus on higher-level tasks such as infrastructure design or creating more automation, Corless says.
There are two main use cases that Corless is seeing. One is in application development for creating modern, loosely coupled services-based applications. Both function-as-a-service (FaaS) and backend-as-a-service (BaaS)—two cloud-enabled services that achieve serverless computing—can dramatically improve the productivity of a software delivery team by keeping teams small, he says.
The other big use case is by system administrators. “The very automation they seek can be implemented quickly, easily, and incrementally with serverless technologies,” Corless says. For example, in Deloitte’s Cloud Managed Services business, the firm uses serverless extensively to automate operation of the offering.
Just as with cloud services, however, there are scenarios where serverless can cost more than paying for virtual machines, Corless says. An application that currently runs on virtual machines with consistent 80% usage on a continuous basis will probably cost more in a serverless environment, he says.
“The real promise of serverless, though, is having fewer people doing some of the mundane tasks of IT,” such as software patching and backup, Corless says. This drives two benefits. First, the people doing those mundane tasks can focus on creating value elsewhere in IT or in the enterprise.
“Nobody is thrilled to be the person whose job it is to make DNS [domain name system] changes,” Corless says. “These people can be repurposed to develop new capabilities. Driving more automation is the number one thing I see happening.”
The second benefit is the ability, even in a large corporation, for smaller teams to be more self-deterministic. “As the expertise and guiderails of infrastructure management get automated, teams can self-serve, and do it safely,” Corless says. “However, this typically takes some investment to automate the standards and guiderails, as what we see from the serverless offerings are often not ‘safe’ enough to use without some type of guardrail/constraint.”
Anytime an application can take advantage of event-driven computing with decoupled services, it is ideal for the serverless platform, says Larry Carvalho, research director, platform as a service, at International Data Corp. (IDC).
The most common use cases are Internet of Things (IoT) applications and mobile backends that need event-driven processing, Carvalho says. Other use cases are batch processing or stream processing for real-time reaction to events.
Serverless computing best practices
So how can organizations help ensure success with serverless? Here are some suggested practices from experts.
Bring the serverless product’s constraints into the design process.
Engineering teams converting to serverless often forget that stringent constraints exist in even the most flexible products, says Daniel Smith, IoT platform architect at Cordial Inc., a provider of marketing technology.