The serverless market is expected to reach $7.7B by 2021, up from $1.9B in 2016.
Serverless is a new type of computing model that allows organizations to manage only the computing resources they need for each distinct action.
The new computing model removes the need for developers or system admins to manage the infrastructure resources offered by cloud providers. While serverless computing does, in fact, use servers to run applications, it removes the server management and capacity planning aspect of cloud computing. This gives serverless computing its name.
Serverless computing is already the highest growth public cloud service, growing from 12% adoption in early 2017 to 21% adoption in early 2018, according to a survey conducted by cloud management company RightScale.
While a number of other public cloud services have greater total adoption (such as database-as-a-service, or DBaaS), serverless is more popular than many emerging (and hyped) services like machine learning and IoT.
This is likely due to the fact that serverless can benefit all types of applications, no matter the industry or use case. It can also improve the development process overall, not just the functionality experienced by the end user.
How does serverless computing work?
Instead of paying for pre-defined computing capacity and storage, developers and system admins only pay for the resources consumed by their application. By adopting this new offering, businesses can further reduce costs and expedite application development in many instances.
A key aspect of serverless computing is what are called functions. Functions are small, independent pieces of code that complete specific requests.
For example, a business may develop a function to resize and reformat images as they are uploaded by users. As users upload high-resolution photos in unsupported formats, the function would convert the images to a uniform format and size based on pre-determined specifications.
This creates a consistent experience and interface for the user on the front-end while potentially limiting storage costs for the business on the backend (as images are reformatted and resized by the function before they are stored).
Unlike virtual machines (VMs) and containers, functions in serverless computing do not operate indefinitely. Rather, they spin up to complete user requests or in response to certain events (like a user uploading an image), and spin down as soon as the task is complete — typically running for just a few seconds (or milliseconds) at a time.
For example, AWS’s serverless product, Lambda, charges based on number and duration of requests (executed with functions).
In this way, functions allow for further application fragmentation and computing modularity. Traditionally, monolithic applications were the development architecture of choice. Monolithic applications are built together, as a single unit, and are able to run multiple components in the same process, on the same system — thus making up an entire application.
While “monoliths” are still an architecture type used today, microservices have since become the application development system of choice.
Microservices operate as smaller, individual services (blocks of code) that connect together to form a comprehensive application. For example, a retailer’s e-commerce app may feature a variety of microservices — one for the login authentication, another for the store locator service, etc.
But functions have since introduced an additional layer of modularity. As we mentioned earlier, these functions run small pieces of code that complete specific requests. While functions don’t replace monolithic applications or microservices, they do provide developers with more operational flexibility when building, deploying, and running applications.
The management and deployment of functions is referred to as function-as-a-service (FaaS) and is synonymous with serverless computing. Cloud providers that offer serverless functionality are, thus, providing function-as-a-service.
The first company to offer this type of service was Hook.io in October 2014. AWS followed just 5 months later (April 2015) with the introduction of AWS Lambda. And since that time, a number of other cloud providers have come to market with services of their own. Notably, Azure Functions became generally available (commercially available for purchase) in November 2016, while Google became generally available in July 2018.
The introduction of these services has promoted a broader interest in the technology over the last two years. In July 2018, there were a record high 94 media mentions of serverless or function-as-a-service.
Growth in media interest is a direct result of the current adoption and expected growth of the industry.
According to CB Insights Market Sizing tool, the serverless computing industry is estimated to grow from approximately $1.88B in 2016 to $7.72B by 2021, a compound annual growth rate of 33%.
In May 2017, Microsoft CEO, Satya Nadella, acknowledged the potential of serverless and its ability to change the mechanics of cloud computing:
“But one of the things that I think is going to completely change how we think about logic is serverless … So serverless computation is going to fundamentally not only change the economics of what is back-end computing, but it’s going to be the core of the future of distributed computing.”
This is the first in our series on serverless computing. Our next 2 posts will dive into serverless market share among the top cloud providers, and the key early-stage startups to watch in the space.