The announcement this week that Google released a beta version of a robust cloud computing platform called Google App Engine that lets anyone build apps on Google's renowned and highly scalable infrastructure underscored a key trend in the software industry today. Namely that software platforms are moving from their traditional centricity around individually owned and managed computing resources and up into the "cloud" of the Internet.
Google's entry into a space that has been largely dominated so far by Amazon and its Elastic Compute Cloud -- as well as a few smaller players like Bungee and Heroku -- has turned the Internet cloud computing space into a fully-fledged industry virtually overnight. What makes these offerings so interesting is their promise to turn enormous amounts of operational competency and accumulated economies of scale (which are enormous in Amazon's and Google's cases) into a highly competitive new software platform, akin to Windows or Linux, except entirely hosted off-premises and on the Internet.
In this way, instead of just offering applications over the Web in the form of Software-as-a-Service (SaaS), Amazon and Google are actually offering an entire Platform-as-a-Service because they provide the foundational upon which to build highly scalable and robust Web-based applications in the same way that the traditional operating systems like Windows and Linux have done in the past for software developers. But what's very different about this model is that no longer is the platform itself "sold" to the customer who then takes responsibility for running and maintaining it. In this model, it's the very operational capability of the platform hosting that is the primary value here (and it's how such platforms are typically billed). This has far reaching implications to both the business models of PaaS vendors as well as their customers.
In the traditional world of software platforms, the cost of the first copy of the platform was enormous, often requiring companies to invest hundreds of millions before they could offer the platform to their very first customer. And while that's still true with PaaS, now the economics of these new online platforms extend to 24x365 operations, which of course, is the core competency of the Web 2.0 era and. The potentially ruinous continuous expense of not only providing the platform but providing all the computing resources (and facilities, power, and bandwidth) upon which your customers run their apps changes the rules of the game. Whoever can drive the most costs out of their supply chain while offering a rich, robust, and easy-to-use platform is likely to rule the roost.
This takes us to the capabilities of these platforms, which are just now being fully fleshed out and offered to the marketplace in a form that's relatively complete (though we'll see which pieces are still missing in a minute.) What's interesting is that Amazon and Google have strategically built up an extensive set of services over the last few years and have made some very interesting assumptions that will determine who their customers are (consumers, startups, enterprises) and what type of business models can sit on top of them (advertising, subscriptions, cheapest source of outsourced computing resources).
For its part, Amazon's Web Services Division has continued to grow regularly with new introductions on a regular basis with strategic components like SimpleDB to highly innovative services like the Mechanical Turk. As for Google it has released a flurry of APIs and platform tools as well over the last few years with notable examples such as their famed Google Maps API, Google Base API, their little known but very intriguing Social Graph API, and now their new Google App Engine infrastructure which forms the center of their PaaS offering. As for enabling business models, Amazon has it's eCommerce APIs to help its PaaS partners generate revenue while Google has its far more flexible and general purpose advertising models with its AdSense product line. In terms of capacity, Google currently has sharp limits on many of it Web services while Amazon has been impressively open-ended about "sky-is-the-limit" capacity ceilings. Finally, Amazon's PaaS services are essentially a box of high quality pieces without much integration, while the advent of Google App Engine provides some real glue that begins to pull together an integrated platform solution for its customers.Good for the startup community; but what about the enterprise?
The decision for many startups will be an easy one; the benefits of using these platforms for their new products are compelling across the board despite minor concerns about platform lock-in even though the models used by both companies are actually surprisingly lock-in free. Amazon's computing cloud runs the machine images you provide, essentially running the platform of your choice while Google uses widely available and open sourced languages and frameworks like Python and Django. The support services such as data storage and others could easily be replicated via the interface/implementation separation if an application needed to be brought back in-house. Google's cloud is more elastic than Amazon's while Amazon gives you a bit more flexibility. Both PaaS platforms now have all the major pieces needed to be a relatively complete cloud-based application platform, with the exception that Amazon has decided not to offer PaaS client-side tools and has decided to let customers choose whatever they like. Google provides this flexibility too but also provides many compelling client tooling options of its own and it remains to be seen if ceding the client tooling entirely to its community will benefit or hinder Amazon's offerings long-term.
But the decision for enterprises on how far to leverage computing platforms in the cloud will be much more complicated. The economics will increasingly make more sense to run business applications on these new platforms now that major competition has emerged in the PaaS marketplace that will put major downward pressure on already strikingly low costs to operate. But the issues around governance, security, privacy, and control will be hard to overcome. Make no mistake however, these platforms offer not only major cost savings but non-trivial productivity boosts as they competitively strive to be the cheapest and lowest barrier place online to run your business applications and engage your employees, customers, and partners.
Read an excellent technical overview of Google App Engine by O'Reilly's Brady Forrest.
What's fascinating is that Google and Amazon have emerged to be the leaders in this space while Microsoft, IBM, and especially Oracle and SAP are either well behind or have unclear plans to enter the PaaS space. Both of these companies formed their DNA around the world of the Web and deeply understand how to leverage the enormous strengths of the Web platform. Some analysts have recently declared that existing platforms such as Windows are collapsing under their own weight as well as facing rapidly growing competition from Web apps, which some have declared will have reached the 50% tipping point as early as 2011. It's clear that the software marketplace is changing rapidly but it's very unclear which of these emerging platforms will be a big hit with the enterprise. For now both of these platforms are primarily startup stories in terms of their customer base and that may not be enough for PaaS players to carve out the kinds of fast growth businesses we saw in the enterprise software industry for the last 20 years. As ZDNet's Phil Wainewright declares, "Let the PaaS wars begin."
Also worth reading: Garett Rogers goes into the pros and cons of using Google App Engine.
Is your organization considering Amazon or Google to run your business applications? Please respond in Talkback below.