Serverless Computing: Back From the Brink in Modern Application Development
For a while, it seemed like the reach of serverless platforms had outstripped their grasp. Following a few high-profile success stories, such as the "serverless-first" strategy adopted by Capital One, the hype surrounding serverless appeared to be waning. This was partly due to the lack of a clear definition, which often led to different interpretations by users and vendors alike. Despite the absence of infrastructure and application servers to manage, developers still needed to understand the nuances of operating within a cloud-native environment.
The decline in public interest was evident in Google search metrics around 2020. However, a steady increase began to emerge in 2022, and current search data alongside surveys suggest serverless is now more popular than ever. Here's why:
A More Defined Path to Developer Productivity: The term "serverless" was always a misnomer. It often meant different things depending on the product and use case. Today, there is greater clarity. A serverless application is a software component that operates within an environment which manages the complexities of deployment, runtimes, protocols, and process isolation, allowing developers to focus on their code.
Real-World Enterprise Success Stories: The initial excitement around serverless focused on rapid development cycles and backend applications where serverless functions served as bridges between disparate cloud services. Many examples came from early adopters or vendors leveraging function as a service (FaaS) for their own platforms. Now, we are seeing a wider range of enterprise customers embracing serverless.
An Expanding Ecosystem for New Use Cases: While building lightweight, short-running functions remains the core use case for serverless, the ecosystem has expanded significantly. Serverless providers have introduced a wider range of data and integration services, such as serverless key value stores, API frameworks, and serverless vector databases, enabling a wider variety of applications.
A Maturing Serverless Ecosystem Drives New Market Perspectives
While FaaS remains the core technology, the ecosystem has evolved beyond a single platform approach, focusing instead on supporting diverse use cases. Emerging trends include:
Versatile Cloud Services Replacing Early Use Cases: Serverless computing has expanded beyond FaaS, encompassing cloud-native development platforms with minimal manual provisioning and features like autoscaling, consumption-based billing, and scale-to-zero capabilities. Initial use cases like filtering, routing, batch processing, and event enrichment are now being replaced by flexible, pre-built cloud services that fit into a "compose and consume" development pattern.
AI Powering a Serverless Renaissance: Artificial intelligence is a major focus across industries, and serverless computing is no exception. The inherent on-demand nature of generative AI, coupled with the high power consumption and scarcity of GPU resources for AI workloads, makes the ephemeral serverless model a suitable fit for AI applications.
WebAssembly (Wasm) as a Powerful Enabler: While primarily discussed by vendors, WebAssembly could be the future of serverless development platforms. It offers numerous advantages, including drastically reduced cold start times (demonstrating spin-up times under a millisecond), and significantly greater portability compared to other approaches. Wasm binaries are compatible across browsers, operating systems, and CPU architectures like Intel and ARM.
Convergence of Edge and Serverless for Distributed Applications: Previously, developers relied on infrastructure from either serverless or non-serverless camps. On one side, you had public cloud data centres with regional site options. On the other, you had edge-focused providers, primarily from Content Delivery Network (CDN) companies, with thousands of smaller points of presence. We anticipate these models converging to focus on applications, use cases, and capabilities rather than the underlying infrastructure paradigm.
Serverless Development Platforms as a Core Cloud-Native Technology
Considering these trends, we can define serverless platforms as:
_A cloud-native software development platform that abstracts away underlying cloud infrastructure, complex server configurations, runtime characteristics, and deployment patterns from the development process. While FaaS is the most common implementation of serverless development and forms the core of serverless architecture, any platform meeting this definition will be considered. A serverless development platform supports the deployment of arbitrary business logic, decouples state from underlying compute, automatically scales on demand, offers micro-billing (often by the millisecond), is run on managed cloud infrastructure, and supports event-driven communication. Additionally, extended capabilities expand the use cases a serverless development platform can accommodate, such as state/storage services, distributed managed infrastructure, asynchronous messaging, observability, and security._
This article was originally published [here](https://www.forrester.com/blogs/serverless-is-trending-again-in-modern-application-development/?utm_source=forbes&utm_medium=pr&utm_campaign=tech) by Principal Analyst Devin Dickerson.