I have been reading Jas Dhalliwal’s blog post series on the One Billion node machine (Part 1, Part 2) with interest where he talks about the notion of a network of machines acting in unison and the opportunities that that presents. In his own words:
I describe a possible evolution of Public Clouds into Planetary IT complexes, where billions of nodes are available planet-wide to work on some of the most challenging problems of our times – what I affectionately called the Billion-Node Machine
None of this is particularly ground breaking thinking –the idea of the internet as a computing single resource is nothing new- nonetheless I enjoyed Jas’ take on it, in particular the tagline “The Billion Node Machine” and that did prompt some of my own thoughts that I’d like to present here.
Regular readers will know that I have an interest in the emergent world of cloud computing and, given my Microsoft affiliations , I have a particular interest in Windows Azure and SQL Azure. The recent announcement that Microsoft will soon be selling the Windows Azure Platform Appliance (literally a data centre in a box) is a very interesting move and could have significant repercussions for the industry. The Azure appliance is characterised by:
- The physical hardware residing at a client site
- The software platform still being managed by Microsoft
That is unique, I know of no-one else that really has a comparative cloud offering (if you would like to put me straight that statement then please feel free in the comments).
The benefits to Microsoft of selling the Azure Appliance are clear:
- They can get the Azure platform to proliferate in countries where it wouldn’t have made economic sense for them to build their own data centre
- They can sell Azure to customers that wish to keep their data in-house
- They can leverage their immense partner ecosystem to help Azure proliferate
All fascinating stuff but what interests me most about this announcement is the simple fact that Microsoft will demonstrate an ability to manage a software infrastructure that doesn’t reside in their own data centres and that too is a new paradigm. The question I then ask is:
If that software infrastructure can live on servers in big data centres why can it not also live on my laptop?
You can see where I’m going with this, right? Why shouldn’t I be able to install Azure onto my own home computer and let that machine/virtual machine/whatever live as a node in in the Azure cloud? Why can’t I “rent” usage of my home computer to anyone that is willing to pay for it? Can the cloud act as a Mechanical Turk for computing power?
There are loads of advantages in this scenario to both the cloud provider, the customer and the home computer owner:
- It allows the cloud provider to call on additional computing power should it be needed on hardware that they don’t have to manage
- It allows the cloud platform to proliferate further into corners of the world where the cloud provider is not going to build a data centre and (in the case of Microsoft) where partners are not going to stick an Azure appliance in their car park.
- It provides the customer with a variable cost model. “Want compute power on the cheap? Why not run it on home computers around the world?”
- It provides an income stream to the man on the street. “Want to do something with those spare CPU cycles in between bouts of playing Farmville and watching YouTube videos? Why not rent them out to invisible customers around the world?”
- For Microsoft specifically this could provide a differentiator that could prop up sales of its aging Windows product or perhaps even introduce a new business model where Windows is subsidised by “loaning” it to Microsoft for use with Azure.
No longer is this Jas’ One Billion Node machine, I plug my laptop in and its The One Billion Node Machine plus one!!!
Does this sound like a realistic future scenario? Perhaps this is why celebrated Windows Technical Fellow Mark Russinovich has recently moved into the Windows Azure team. There are obvious security implications in play with the model I describe here but that’s a discussion for another blog post; for now let’s just consider the opportunities of enabling such an infrastructure.
Jas points out in Planetary Cloud: The Rise of the Billion-node machine that this crowdsourcing of IT resources is already up and running and he cites SETI@Home as one such example. I doubt it will be long before the big cloud providers jump onto this model.
Let me know your thoughts.