What is the Real Potential of Serverless?
Exploring infrastructure-level serverless and application-level serverless
When confronted with the new phenomenon of Serverless computing, pundits often like to take their existing mental stack of IaaS (Infrastructure as a Service), PaaS (Platform as a Service) and SaaS (Software as a Service) and simply add FaaS (Functions as a Service) as another layer to it.
Unfortunately, that model falls apart quite quickly when it gets tested against reality.
On the one hand, because the layering implied in the neat stacking never exists in reality, most SaaS applications are not built using an underlying Platform as a Service, but use infrastructure (real or virtualized) directly. Some of the most popular PaaS are built using public IaaS, but there is no requirement to do so.
On the other hand, looking at many of the most popular use cases for Serverless runtimes, you can get the impression that Serverless is meant as the universal duct tape to bring together computing services and APIs. These services and APIs include storage, messaging, data ingestion, micro services. But one thing they have in common is that they operate very closely to the infrastructure, dealing in low-level abstractions.
Understanding Serverless as a lightweight alternative to both IaaS (dealing in inconvenient abstractions like servers, downtime, or scaling) and PaaS (with uncomfortable constraints and cost) might paint a more accurate picture of reality.
What this picture does not do is speak to the potential of Serverless computing. If Serverless is nothing more than a cheaper, more convenient way to mangle bits, then what’s all the fuzz about?
The real potential of Serverless computing lies in Application-level Serverless, i.e. the ability to connect, extend and combine application APIs to create new applications, new experiences and new use cases that lie beyond the imagination of the creators of these APIs.
Similar to how the first simple APIs of the Web 2.0 era unleashed a period of experimentation, recombination and creation of mashups, with Application-level Serverless, this potential can be brought to mission-critical enterprise applications.
By applying Serverless technologies in two levels of the stack, API providers can use the power and scale of cloud native infrastructure and flexibly combine it to enable their SaaS-solutions. But the majority of the value will be generated at the very top of the stack, where empowered API consumers will use high-level APIs to interact with and combine business applications.