Before you run off thinking I'm advocating the destruction of PaaS platforms, please realize that I am not. Rather, I'm referring to the shift away from monolithic, one-size-fits-all PaaS systems towards more open, loosely coupled platforms that makes it easy to consume code and services provided by third parties.
Early PaaS offerings, circa 2007-2009, were conceived of as all-in-one affairs. In fact, a big part of the value proposition that providers envisioned was its delivery via proprietary services and custom APIs that developers would use in their applications. Examples include App Engine's data store and Memcache services, the Force.com data store, the distributed cache and storage systems we built at Appistry and many more.
The fact is, the early players in the space had little choice but to roll their own. At the time, there were critical gaps in the market that needed to be filled in order for developers on PaaS platforms to be able to deliver rich, scalable applications. Fortunately for PaaS users, this is no longer the case for most application-level services.
REST Assured, We've Got Git
In order to build modern, scalable, connected web applications, developers must have access to a wide variety of third-party components and services upon which to build. With the proliferation of open source and SaaS services, these are now readily available on the open market. While both open source and SaaS predated the earliest PaaS offerings, in recent years the advent of GitHub and the popularity of REST-based Web services has played a significant role in expanding the selection of building blocks available to developers.
GitHub, by dramatically lowering the barriers to collaborating on and sharing open source projects, has become an "App Store" of sorts for developers, and is home to over one million projects. Likewise, the popularization of Roy Fielding's REST model for web service APIs has simplified developer access to the many application- and app-infrastructure-oriented SaaS services now available. It's now possible to store files, query and analyze data, send emails, create maps, subscribe to messages, encode videos, and much more, just by sending simple HTTP-based commands. (If you've never visited the ProgrammableWeb API Directory, the selection will blow your mind.)
This Cambrian explosion of high quality components and services has made web application development a much more productive affair for developers. And because the market has removed the burden of providing these low-level building blocks, those PaaS providers ready to embrace openness stand to gain great advantage.
Modular PaaS is Better for Providers, Too
While the end-user benefits of an open approach to PaaS, namely increased choice and reduced lock-in are apparent, the advantages of a modular approach to PaaS are two-sided, benefiting providers at least as much as users. This is because, as a PaaS provider, it's simply too hard to deliver both a solid application platform and the services that plug into it. For most businesses, such a thing would spread their development resources too thinly, even if they had the necessary domain expertise, which most don't. In addition, because the open source and SaaS genies have left their bottles, trying to do it all puts the provider at odds with their customers.
By building and offering an open platform able to easily consume third-party components and services, and by cultivating a thriving ecosystem of the tools' providers, second-generation PaaS vendors can improve their own chances of success while creating a better world for their users.