Serverless is the next-generation cloud, which provides not only the cloud but also full application functionality. In classical cloud, you log into the (virtual) server; in serverless, you just run the complete functional application programming interface (API). This serverless setup allows businesses to focus solely on developing value-added functions and features.
Serverless architecture represents a new paradigm. With it, companies can overcome the typical obstacles of cost and effort that often sidetrack IT transformations. It also enables companies to shift their IT spending from a capex to an opex model for the entire duration of application development—a move that can reduce overall costs by around 60 percent.1
Serverless architecture offers huge advantages for companies seeking to transform at scale and support digital journeys. It starts with the advantages of classic cloud and then expands them with additional offerings that create a serverless architecture.
There are three stages to serverless architecture:
- Cloud 1.0 “as a service” offerings. Cloud computing has given rise to many new offerings: infrastructure as a service (IaaS) offered virtual environments, platform as a service (PaaS) provided runtime environments, and software as a service (SaaS) took it further by offering ready-to-use applications. These are the foundation for the next two stages in the evolution of serverless architecture: backend as a service and function as a service.
- Backend as a service (BaaS). BaaS is a set of cloud-based services such as cloud storage, push notifications, authentication and authorization, and location services that are provided to developers via APIs. The easiest way to think about BaaS is as full software services offered by third-party providers and readily available for developers to integrate and utilize.
- Function as a service (FaaS). FaaS comprises the custom development of event-driven functions (business logic) running in ephemeral containers (with on-demand/as-needed capacity). Cloud providers manage FaaS, which can be accessed through APIs. FaaS is a level of increase in abstraction above PaaS/containerization and a level of decrease in abstraction below SaaS. The primary difference between FaaS and PaaS is in the way the application is composed, deployed, used, and scaled. Compared with PaaS, FaaS is more granular and deployed by providers, and both cost and scalability are based on usage.
Delivering benefits in both cost and access
Serverless architecture brings two benefits. First, it enables a pay-as-you-go model on the full stack of technology and on the most granular basis possible, thereby reducing the overall run cost. The pay-as-you-go model is activated by putting functions into production via the operator of the serverless ecosystem only when they are needed. Therefore, serverless architecture not only reduces costs below the economies of scale provided by cloud-based setups capable of operating infrastructure at large scale, but also reduces idle capacity.
Second, serverless architecture provides ecosystem access for the underlying infrastructure as well as the entire functionality, thereby drastically reducing the cost to transform the company’s IT environment. Ecosystem access for functions is achieved through the provider’s FaaS and BaaS models instead of being redeveloped for every client. While ecosystem access in SaaS was only possible for the entire software package, with serverless architecture even small-scale functions can be reused, thereby offering more flexibility and reusability on a broad basis.
Together, these two benefits allow for massive reusability of existing functionality on a state-of-the-art platform.
Challenges to serverless architecture today
Despite clear advantages, adopting serverless architecture at scale currently presents several potential challenges for companies:
- Architecture complexity results from the number of required actions, such as designing the functions (determining size), deciding on the number of functions, orchestrating the function calls, integrating and testing, and managing a significant number of functions.
- Lack of control of infrastructure is a requirement of successful implementation of FaaS and BaaS. Companies will have to place their trust in technology that is still in its early stages of development as well as in third-party providers to manage it.
- Limited tools for monitoring and debugging is, for now, a reality of serverless architecture. The operational tools required to remotely debug and identify the root cause of failures as well as to keep track of all the functions running at a third party are limited in both number and sophistication.
- Scaling unpredictability contributes to a high level of uncertainty on costs, as companies will be unfamiliar with the cost structure, and the number of executions and magnitude of auto-scaling can be difficult to predict.
Mitigating these risks requires companies to strictly manage their architecture and infrastructure. These tasks include a full overview of all functions used as well as a clear view of infrastructure consumption. Companies that engage at this level will also increase their trust in the ability of third parties to manage certain parts of the architecture. We believe that the tooling risk will disappear over time as more companies sign up.
Embracing the new paradigm
Companies that are considering serverless architecture should undertake three key steps (exhibit). First, they must lay the foundation for integration with FaaS and BaaS solution providers. Second, larger parts of the architecture need to move to the cloud-based BaaS and FaaS solutions according to a new target architecture, accompanied by a learning journey, for the organization to enable adoption of the new technologies. Last, the journey has to end in a new architecture as well as a new IT organization adapted to the possible reuse of a massive amount of technology.
Most companies that have embarked on this journey are currently experimenting with the basics. One international banking conglomerate, for example, is focused on enabling its first functionalities on a public cloud provider’s platform. Similarly, a large European bank has used several open APIs to incorporate FaaS within other apps to create an integrated experience and service offering. As these companies advance along this journey, we expect them to use a wider set of FaaS with large cloud providers.
Serverless architecture represents a fundamental change in infrastructure and software delivery. As the first wave of cloud has done on the infrastructure side, this new wave allows for massive new scalability and ease of implementation for application development and maintenance.
1 Benchmark average from initial pilot projects comparison of initial costing with later costing after leveraging serverless architecture paradigm.
Henning Soller is a partner in McKinsey’s Frankfurt office.