At the turn of the previous decade, you would be considered perfectly sound to place a bet on Platform-as-a-Service (PaaS) as the dominant cloud service model (over IaaS). With offerings such as Google’s App Engine, Microsoft’s original Azure, newcomers Heroku and EngineYard, and OpenShift from Red Hat, to name just a few, the stage seemed set for this model of opinionated, abstracted operations to take immediate hold.
But within a few years, many a PaaS-y startup started to run into trouble when raising money. “PaaS” became a dirty word (one founder I worked closely with told me of a lost weekend he spent redoing his company’s collateral and website to remove all mention of the word “platform”). So what went wrong, and how is it changing now?
The perfect storm of 2008
The Great Recession which started in 2008 created some key conditions for the renewed rise of startups. These have have been well documented for years: chiefly, negative (real) cost of capital made seed capital more accessible; and large numbers of young software engineers, many with open source and “post-Web 2.0” experience, were left without jobs, looking for something to do.
Amazon stumbled upon this market to complete the golden triangle of capital-talent-technology. At a time when leading (and emerging) PaaS vendors were banking on abstracting IT for enterprise developers, AWS found that startup developers—many of them with shallow pockets and deep experiences—tended to have their own development environments and just wanted access to someone else’s machines, not someone else’s opinions. Amazon Web Services’ EC2 (Elastic Compute Cloud) service gave them just that, as did upstarts such as DigitalOcean and open projects such as OpenStack.
As many of these developer teams evolved into the first cloud-native companies, there emerged a common need for simplification and abstraction, to support rapid scaleup. However, even that didn’t push the market over to PaaS. Many have criticized the inherent pricing model of many PaaS tools as unfit for scale, but I would like to offer an additional, technical argument: the first cloud-native companies had access to an exploding universe of open source code and great technical talent who, put together, could help in building and maintaining complex IT ‘stacks’—in other words, the first hyper-scale cloud companies chose to own system complexity rather than take someone else’s rigid opinion.
Since these early days of AWS, the history of cloud computing can be summarized as follows: who will come in a distant second?