In 2010 I chatted with a local venture capitalist on the future of Platform as a Service. Both of us had done some hacking with horizontal platforms such as Google App Engine and Force.com, and neither could see its applicability for commercial software applications. We tallied a long list of personal reservations: vendor lock-in, inability to express complexity, price, lack of support for open source, lack of control, and so on. But we also wondered: were we just too old school to see what could be the future of software development?
Horizontal PaaS platforms, such as Google App Engine and Force.com, provide the development tools and application hosting for building software. While the pricing is similar to Infrastructure as a Service, the primary differentiator is that their market is exclusively software developers. Whereas IaaS supports the deployment of existing applications, PaaS is exclusively focused on building new software - making it effectively the cloud equivalent of a development tool market.
My first professional experience in the development tool market was at Easel Corporation in the early 1990s. The company’s humble beginnings started with the delivery of an executive decision making system, complete with a touch screen and graphical user interface. Through a strategic pivot, the company morphed itself to an independent software vendor delivering development tools for enterprise IT. My years of delivering development tools taught me a few truisms about this market applicable to PaaS:
Not a Growth Market
While development professionals value tools, they do not like to pay for them. The result: the high tech landscape is littered with the dead carcasses of companies that tried and failed to make a long term growth business in tools. Ask yourself this: how much are you paying for your IDE? Application server framework? Programming environment? These are highly complex and sophisticated software applications which most of us expect to use for free. Only when a new innovation comes along do we temporarily suspend our rejection of paying for tools.
Disruptive innovation occurs almost continuously in the software development tool market. New languages, IDEs, frameworks, utilities and environments are being introduced constantly. Communities form around a technology, grow usage to mainstream adoption, and then leave for the next innovation as growth slows. For example, C is replaced by C++, C++ by Java, Java by a dynamic languages such as Ruby, Python and Clojure, and so on. I have personally delivered commercial software using no less than 7 programming languages, 3 programming paradigms, and 6 IDEs over my career - and I suspect I have a few more to go before I am done.
Integrated Suites Are Laggards
To deliver an integrated suite - a core tenant of PaaS - a company must have market leadership that allows them to drive some segment of developers to their tools. For the vendor, the tools are features that support a line of business, but are not a line of business by themselves. As a result, the tools evolve at a slower pace, lagging behind the disruptive innovations in the broader market. Using Microsoft as an example, Visual Studio lagged behind 4GLs, .NET behind Java, and ASP behind server-side scripting solutions such as ColdFusion, etc... The result is that in the best case, integrated suites will fall behind the state of the art in the software world; in the worst cases, the tools will become hopelessly outdated.
The result of these drivers is a highly volatile market from which gated PaaS communities cannot be immune. We are already seeing the signs that the Gartner prediction of “2011: Year of PaaS” not only has not transpired - but likely never will. The launch of new PaaS startups, which seemed to peak in 2009, has all but stopped. Microsoft is scrambling to add the very non-PaaS “VM roles” into Azure in order to stay relevant in the public cloud. Even Heroku hasn’t been able to make the SFC platform compelling to a broader market.
But the first generation of PaaS has brought some innovations that will shape the next generation of development tools, including seamless integration of development and production, automated scaling, integrated management & billing, and cloud-based IDEs. But when you take away the hype from PaaS, it is another iteration of development tool innovation that will add to our forward progress, but will be passed up for the next cool wave in software development - leaving those in their gated PaaS communities behind to fend for themselves.