Is building product with serverless paradigm a fad or does it have theoretical foundation behind it?
In a previous post, we talked about “Become an engineer who PMs love to work with” — development velocity is the king in building a successful product — and we mentioned that serverless paradigm may offer engineers a new tooling to make him/herself a 10x team player.
And if you follow this newsletter long enough, you probably notice that we sound like a serverless paradigm fanboy — advocating the serverless paradigm adoption. Note: we by no means are serverless paradigm fanboys, and we know there are use cases that may not be suitable to be built on top of the current serverless infrastructures provided by public cloud vendors. But the reality is that, the use cases that are not suitable to adopting serverless paradigm, are limited and likely shrinking over time (particular in the space of building an SaaS company).
Friends of mine know that I am not a fanboy type of person to anything. But some of my friends ask, why are you believing in serverless paradigm will prevail in building most SaaS companies in the next 10 years?
I will take off my practitioner hat in this post, and I am going to share an academic paper from a group of well-known academic researchers.
What the Berkeley group predicted in 2009 toward Cloud Computing?
In 2009, a group of Berkeley researchers published their analysis toward the cloud computing (and a little bit of their opinion and prediction as well), a paper titled as “Above the Clouds: A Berkeley View of Cloud Computing”. BTW, the last two authors are among the co-founders of the lately hot Decacorn startup Databricks.
In that paper, the group of researchers mentioned the top 10 obstacles for companies to adopt cloud computing:
Availability of a Service
Data Lock-In
Data Confidentiality and Auditability
Data Transfer Bottlenecks
Performance Unpredictability
Scalable Storage
Bugs in Large-Scale Distributed Systems
Scaling Quickly
Reputation Fate Sharing
Software Licensing
And their prediction back then was “we believe that over the long run providers will successfully navigate these challenges and set an example for others to follow”. (And fast-forwarding to today, we already know those obstacles are mostly not obstacles any more.)
They go ahead suggesting “developers would be wise to design their next generation of systems to be deployed into Cloud Computing”. Twelve years later when we look back, wasn’t it a wonderful paper for our skill-set and mentality change if we read it in 2009 and follow their suggestion?
What’s the same group’s prediction towards Serverless Computing paradigm 10 years later?
These groups of researchers from Berkeley published a paper towards serverless computing in 2019. Below is their layer-cake style software stack thinking:
If we look at the above stack diagram, we will find out that (most of) applications can be built, and likely should be built, on top of Serverless infrastructure.
And in this 2019 paper, they made much stronger and bold prediction and conclusion (than their 2009 one): “We predict that serverless use will skyrocket.” and go ahead giving more concrete predictions to illustrate what they meant.
Here I list what may sound very controversial to a lot of people who are working in the traditional compute environment (but if history repeats, most likely the claims from this group of researchers will become obvious when we look back in the year 2031)
Serverless computing will become the default computing paradigm of the Cloud Era, largely replacing serverful computing and thereby bringing closure to the Client-Server Era.
While serverful cloud computing won’t disappear, the relative importance of that portion of the cloud will decline as serverless computing overcomes its current limitations.
Here I also list the items they made in the prediction session, but I, as a serverless computing practitioner, already can say “it already comes true” in the year 2021.
We expect serverless computing to become simpler to program securely than serverful computing, benefiting from the high level of programming abstraction and the fine-grained isolation of cloud functions — our comment: in 2021, this is already true from practitioners’ perspective
We see no fundamental reason why the cost of serverless computing should be higher than that of serverful computing, so we predict that billing models will evolve so that almost any application, running at almost any scale, will cost no more and perhaps much less with serverless computing — our comment: in 2021, this is true for most use cases and workloads that are suitable to serverless computing paradigm.
What do you think now?
Please leave your comment and thoughts below, for fun, treat your comment as a piece of paper in a time capsule and look back 10 years from now? 😀 👇