Monday, February 25, 2008

Get Off My Cloud

I'd like to put in a stake in the ground for anti-cloud computing. "Cloud computing" (i.e. Grid computing, only not gruesome) has a lot of buzz, and it is assumed that in the future we will all use computing and data storage as for-fee services virtually hosted on sites like Amazon. One brilliant guy compares it to the electrical power grid: http://www.nicholasgcarr.com/bigswitch/. Nicholas Carr, you owe Larry Smarr royalties.

In general, it is assumed that these online services will make the home computer become thinner and thinner until it no longer exists in its current form. In this vision, the next generation will be dominated by lightweight client devices (i.e. iPhones, Blackberries, Nokia N-series tablets, etc.), and most computing and data management will be performed by large online services. Existing service providing companies like Google will dominate, and Microsoft is desperately trying to get market share.

While this will happen, I don't think it is the whole story. The home PC isn't dead and (for many of us) will become a full fledged home appliance. Think of it as the long tail of cloud computing. Consider
  • There will be dozens of computing cores on relatively modest home computers within a decade (i.e. home computers will be mini parallel supercomputers).
  • Storage on these same machines will commonly be in the terabytes (already there on high end desktops).
  • High speed internet access will be available in most homes (probably already there for upper income households).
Actually, we are already there. The main thing that will change is the excessive parallel core horsepower that the next generation of PCs will have (and maybe we are there, too--check out this thing--72 cores on a desktop!). Major vendors are desperately trying to improve the software development environments to take advantage of these cores. Seems to me that Web servers are a natural fit for this.

So instead of everyone uploading photos and movies to Flickr and YouTube, why not provide "home editions" of these services that allow me to run my own web service? Or why not a "home edition" of Last.fm in which I can serve up and share my music collection with my friends and family? Ideally, I would also be able to federate my servers with friends and family into peer-networks and other such topologies so that I could share information transparently with friends while maintaining fine-grained control of the data at the same time. Obviously there is a lot of file and music sharing software already--I am thinking more of adding the social networking capabilities provided by various Web 2.o sites to this.

Another possible application for the home supercomputer is managing MyHouse@HOME (a hypothetical project). In Tom Igoe's book, Making Things Talk, he introduces the concept of object-oriented hardware (or, if you prefer, service-oriented hardware). Ubiquitous micro-computers and sensors combined with simple network protocols allow you to build interesting home applications, such as twitter-style blogs for your house. This could allow you, for example, to monitor your house while you are away or keep an eye on elderly family and friends. Event detection on this sort of sensor data is an interesting problem. This sort of sensor data obviously should go through a central Web server hub under your control.

More importantly and generally, with a home computing appliance, I can control my own personal data and make available as I choose instead of trusting large central repositories. Family medical records, genetic testing results, financial records, etc could be maintained locally and accessed by outside clients in ways that the owner controls.

One may object that there are many security problems. For example, the home computer becomes a bigger honey pot of valuable information than it is already, so it becomes a target for both internet break-ins and physical theft. And you would lose most of your records in a house fire that melted your computer. Hard drive failures would be a disaster. But all of these are already problems to some degree. Secure, encrypted hard drives are already available technology (in laptops for example), so just physically stealing the machine won't expose you to unnecessary risk.

Home denial of service attacks would be a new problem. I can also see the need for a secure "Swiss Bank Account" for data on your hard drive: every night you can rsync your data to a secure site, where it will be stored in numbered accounts in encrypted form via public/private keys and retrievable only by you (i.e. malicious employees don't know which account belongs to whom and can't read the data anyway). Probably this already exists in the financial world. Amazon's S3 and Micorsoft's SkyDrive are early examples, but security and reliability will need to be greatly enhanced.

The compelling thing to me is that none of this is particularly new. Context-aware sensors, parallel computing techniques and algorithms, network computing, social networks, and so on are old topics in the academic world. The key new concept is accessibility: do-it-yourself enthusiasts will broaden participation in these fields and will push researchers to deepen it. This will create the anti-cloud. Or if you prefer, everyone can have their own cloud.

What is missing seems to be the higher level building block software for building home cloud services (i.e. the home edition of Last.fm). Microsoft, in particular, seems to be missing the point. They are trying desperately to transform into a service provider (e.g. to compete with Google on search), but they are always chasing the leader (witness various Live projects, Virtual Earth, Skyserver. etc). Instead, why not concentrate on their core competency: home and business software, only now "cloud-enabling"? Note "cloud-enabling" is not "cloud-enabled". The former is server side (making use of the fat computing appliance in the home office). The latter is the thin client to some remote cloud service.

I'll conclude with a poke at the HPC and Grid world: yes, we were there first, just like the Vikings were the first Europeans in North America.

I note that the smart guys like Ray Ozzie at MS were way ahead of me with Live Mesh, which is debuting today (April 23).

No comments: