I’ve been following the evolution of what is now called cloud computing for some time, and with great interest. Over the years, facets of cloud computing have had many names: ASP, grid computing, utility computing, Web services, SOA, mashups, SaaS, Web 2.0. In many ways, the emergence of cloud computing is the great coming together of these trends and technologies. But whatever moniker the industry puts on it, I’ll always think of this great coming together as Tim O’Reilly described it in 2002: the Internet operating system.
Bit by bit, we’ll watch the transformation of the Web services wilderness. The first stage, the pioneer stage, is marked by screen scraping and “unauthorized” special purpose interfaces to database-backed Web sites. In the second stage, the Web sites themselves will offer more efficient, XML-based APIs. (This is starting to happen now.) In the third stage, the hodgepodge of individual services will be integrated into a true operating system layer, in which a single vendor (or a few competing vendors) will provide a comprehensive set of APIs that turns the Internet into a huge collection of program-callable components, and integrates those components into applications that are used every day by non-technical people.
That essay—and the phrase “the Internet operating system”—profoundly changed my thinking about Google and the other companies of which Tim wrote. They were no longer merely purveyors of browser accessible services, some of which were beginning to acquire APIs; they were collectively—and in most cases unintentionally—building the platform of the future piece by piece. For the first time, I could think about that platform in a context I understood very well.
More recently, as I’ve continued to watch the cloud evolve, it’s occurred to me that perhaps the operating system analogy goes even deeper. Granted, perhaps it’s because I know this particular hammer so well that what I see looks like a nail. But there are striking similarities between what I see today when I look across the cloud landscape and what I saw in the Linux community when I first surveyed it in 1993.
For one thing, as Tim points out, the Internet operating system is not being constructed by one company, nor is it being built according to some master plan. Rather, it is the byproduct of thousands of hands building independent pieces, each of which solve a specific problem with little or no thought to any overall “platform”. Just like 1993, a new platform is being constructed largely as a side effect, and from the bottom up.
In 1993, you had to have a high degree of skill (and patience) to take advantage of the emerging Linux platform, because for the most part, you had to build it yourself. You had to download source code, compile it, install it, and make it all work together before you could really do much with it. It wasn’t until the Linux distributions came along and did that work for you that Linux, and open source along with it, was made accessible to the masses and began to fundamentally change the computing industry—and yes, the world.
Who, then, will come along and similarly stitch the pieces of the cloud together into a cohesive platform? Who, as Tim predicts, will integrate the hodgepodge into a true Internet operating system, with the result neatly packaged for mere mortals who don’t know how to “mash up” XML feeds or tweak their browsers or iPhones to take advantage of the latest innovations? And what will be the equivalent of package management for the cloud, the technology that weaves all the independent pieces maintained by those thousands of hands together in a way that makes it easy for developers and users alike to assemble those pieces together for a multitude of different purposes? Perhaps most importantly, will the platform be a silo (or a small number of silos), or will the platform be open, enabling developers and users to combine services no matter where they live?
It’s clear rereading Tim’s essay that we haven’t reached the third phase yet, though I believe we’re on the brink of it. It’s going to be interesting to watch—and exciting to be a part of it.