Sunday, December 12, 2010

Cloud computing: the latest chapter in an epic journey

we announced a number of updates to Chrome and Chrome OS. For me, these announcements were among the most significant of my working life—demonstrating the real power of computer science to transform people’s lives. It’s strange how very complex platforms can produce beautifully simple solutions like Chrome and Chrome OS, which anyone can use from the get-go—as long as you get it right. And that’s very, very hard indeed as history has taught.

In 1983, I worked on a team at Sun that was very proud to proclaim the 3M machines. The "M’s" were one megapixel, one megahertz and one megabit. And as part of that, we introduced a diskless computer. So this concept is not new—but then there are very few authentically new ideas in computer science. The last really new one was public key encryption back in 1975. So we are always going back to the old ideas because we either loved them and they worked, or since they were right but we couldn’t make them work.

With hindsight, why has this been so hard? After all, we had all the IT stuff. And then the web was imaginary. But the web is not really cloud computing—it’s an extremely important source of information, probably the most important ever invented. One major web novelty cycle happened in 1995—remember the Netscape IPO, Java and all of that—ultimately leading, in 1997, to an announcement by Oracle (and bunch of other people including myself) called “the network computer.” It was accurately what the Chrome team at Google was talking about on Tuesday. Go back and read the language. Use your preferred search engine and look at what I said.

So why did it fail, and why will belongings be different this time around? Well, it’s clear that we were both right and wrong. Right that the underlying problems—notably the complexity—really were problems. But we unsuccessful because we couldn't build great apps on the web technologies of the time. We could build information resources, so you could read things and get stuff done, but the web couldn’t compete with the scale and power of the then-existing desktop applications, which at the time were Ole and Win32 and various Mac APIs.

Chrome and Chrome OS are likely today for several reasons. First, time. Moore's law is a issue of 1,000 in 15 years—so 15 years ago against today, we have 1,000 times faster networks, CPUs and screens. That’s a lot more horsepower at the networking and disk level, which means the disks are faster, and the network is more reliable. Then, technology. Asynchronous JavaScript XML, or AJAX, came along in in 2003/04, and it enabled the first really attractive web apps like Gmail to be built. All of a sudden people were like “Wow! This web thing is in fact kind of useful ... I can write some pretty attractive applications and they can update themselves!" And then a more general technology now known as LAMP, which stands for Linux, Apache, MySQL, PHP—and Perl, Python and various other Ps—evolved as a platform for the back-end.

So all of a sudden you had a client mutual with a back-end that were powerful enough to sustain a new programming model. Instead of building these large monolithic programs, people would take snippets of code and collective them together in languages like Java and JavaScript.

So with the great complexity that was finally possible on the web, it was critical to have a modern browser that could handle it all. Chrome just had to be built. As usual, Larry and Sergey were way in front of me on this. From my very first day at Google, they made clear that we ought to be in the browser business and the OS business. Not being interested in either, I said no. But they somewhat sneakily hired a number of brilliant computer scientists to work on the amazingly successful Firefox browser, which Google helped fund during an advertising agreement—and that core team went on to create Chrome.

So we've gone from a world where we had reliable disks and untrustworthy networks, to a world where we have reliable networks and basically no disks. Architecturally that’s a huge change—and with HTML5 it is now lastly possible to build the kind of powerful apps that you take for decided on a PC or a Macintosh on top of a browser platform.

With Chrome OS, we have in development a viable third choice in desktop operating systems. Before there was no cloud compute substitute—now we have a product which is fast, robust and scalable enough to support powerful platforms. It’s something computer scientists have been dreaming about for a very, very long time. The kind of magic that we could envision 20 years ago, but couldn’t make real because we lacked the technology. As developers start playing with our beta Cr-48 Chrome OS computer, they’ll see that while it’s still early days it works incredibly well. You can build the whole thing that you used to mix and match with client software—taking full advantage of the capacity of the web.

I am very conceited of what a small team, effectively working as a start-up within Google, has achieved so quickly. In 20 years time, I’m certain that when we look back at history it will be clear that this was totally the right time to build these products. Because they work—and they work at scale—I’m certain that they’ll go on to great success. Welcome to the newest chapter of an epic journey in computing. Welcome to Chrome OS.

No comments:

Post a Comment