The Death of PaaS 1.0 – Why the Cloud Will Change Forever
March 16, 2012
Cloud really started off as the availability of applications via a browser over the internet – Software as a Service (SaaS). Cloud has evolved well beyond that, and has reached the point where one can source entire data center components – servers and all – online. Dubbed Infrastructure as a Service (IaaS), the promise is that anyone can source enterprise grade infrastructure at a button click through a browser. Need a Linux or Windows infrastructure? No problem, fire it up – virtually. Despite this amazing ability, however, a lot has remained the same when it comes to using IaaS because it’s typically just OS instances. Fundamentally, IaaS solves infrastructure problems but doesn’t address the ever-increasing complexity of managing and writing modern applications: no frameworks, libraries or APIs that tackle sticky application engineering topics. To deal with this, the market spun out Platform as a Service (PaaS). I was fortunate enough to be a co-founder of PaaS vendor Apprenda and to be surrounded by the industry’s best talent. When we set out on our journey to change computing, we envisioned a world where PaaS became the new runtime layer of the future – the cloud “operating system” in the realist sense of the term. This meant that PaaS would take over nearly all of the heavy lifting as it relates to building large, web scale distributed applications, and would also provide high levels of value through APIs and frameworks that give apps access to powerful cloud architectures.
Unfortunately, many in the industry who also built PaaS’ took an easier and long term, much less valuable road. For many, PaaS became a “tool” that could easily deploy apps to infrastructure in a self-service way. Yes, each might have different bells and whistles that relate to this, but they are mere shadows of the full bodied future we wanted to see – true runtimes and application containers that would replace the models of the previous computing paradigms. Luckily, we are nearing a shift in PaaS where these undifferentiated “PaaS 1.0” (yeah, I know, the whole “dot-oh” thing is overused and cheesy, but it gets the point across) plays will either have to evolve to be something much greater or will die off. To better understand this, we need to understand what many PaaS offerings do and what they should be doing,
PaaS represents the ultimate abstraction – a software layer that aggregates any number of underlying servers, OS’ and network resources into a single resource pool. Applications deployed to a PaaS never have to worry about what it means to be a “cloud architected app” because they inherit one from the PaaS. Unfortunately, most PaaS vendors have converged on some nominal functionality related to application deployment and don’t instrument apps with cloud architectures. In fact, things are immature enough both in terms of business model and technical approach that it’s safe to say that a generational gap in PaaS is occurring – a transition away from PaaS 1.0 into 2.0, where cloud runtimes will prevail.
If one scans the field of PaaS vendors, certain traits become very obvious across many of them:
- Most PaaS vendors built the PaaS software layer and act as the exclusive service provider of that PaaS layer, essentially a hosting lock-in model
- Their technical architectures focus heavily on application deployment and updating of basic networking hardware (such as load balancers), effectively acting as “installers” for web applications. They architecturally sit outside of “guest” applications, and do not act as formal containers for those applications.
- They focus heavily on simply abstracting away application management details but provide little to no value-added application building blocks.
These workflows are trivial to implement. Building runtimes and proper platform layers is hard work. Very hard work. But it’s the path of least resistance and defined the R&D thesis a whole slew of startups and big vendor offerings that didn’t build runtimes into the DNA of their PaaS offerings. A real runtime model for PaaS means that applications “live in” a container that is the PaaS and the container deals with providing the app with a turn-key cloud architecture. This is a far cry from the basics of PaaS 1.0, and feels much more like an OS kernel and much less like a deployment tool. It means that apps running on the PaaS can inherit a tremendous amount of value from the runtime that would have otherwise resulted in huge amounts of duplicated (and complicated!) effort. If this is the future of cloud computing – a future where enormously complex distributed apps can be written with ease – then by all means, let’s get tombstones ready for PaaS 1.0 and any vendors that took the easy road and refuse to give the market what it needs most.
###
About the Author
Sinclair Schuller, CEO of Apprenda.
Before co-founding Apprenda, Sinclair held positions at Morgan Stanley, Eden Communications, and the State University of New York (SUNY). Sinclair holds a dual Bachelor of Science in Computer Science & Mathematics from Rensselaer Polytechnic Institute, where he graduated Summa Cum Laude. Sinclair excels in understanding the economics of SaaS platforms and ecosystems, and is a frequent speaker and panelist at industry events.


