This is the second of three articles on factors impeding the adoption of Cloud Computing. The first is available here.
Where do I plug in? Who’s in charge of provisioning?
The latest buzzword for the web is the VM; the Virtual Machine. It’s the basis of the new Cloud, but it’s actually not a new technology. IBM perfected VMs back in the 1970’s to allow their mainframes to isolate the applications running on them. We are used to running more than on program on a computer, but VM technology goes a step further. It gives the application an independent copy of the entire operating system and guarantees complete isolation from other applications. You can even run different operating systems simultaneously on the same machine.
VM technology has appeared only recently for the x86 architecture. That’s the breakthrough that has created the Cloud Computing buzz. Now it is possible to compartmentalize computing across cheap commodity server hardware and give each remote user a separate space to run their apps at rock-bottom prices. You lease a VM from a provider, log in remotely, install your software and execute it. If you’re lucky, someone has already created a VM image of your application – that means you don’t have to bother to perform the installation step. You just fire up the application, configure it and you’re done. This is a process that could take less than an hour; much less time than it would take to set up an actual machine. You can also shut down the VM at any time. You only pay for the time it is active. There is no capital cost.
Unfortunately, there’s a big learning curve facing the customer. Which VM company do you approach? How do I avoid the dreaded vendor lock-in? The irony here is that none of this should matter at all. VM instances are portable. Although there are two camps of standards, VMware and Xen, there are tools to move instances between them. The real problem is that the interfaces for VM provisioning itself are different for each vendor and require a lot of manual steps. You have to do substantial web research to check the reputation of each of these companies.
The missing piece is analogous to the public utilities that controlled the national electricity grids formed in the early 20th century. Although no vendor wants to see price regulation, there needs to be a single-point of entry for the customer into the Cloud. There should be a standard way for a SMB to lease VMs and those VMs should move invisibly and automatically to the most cost-effective hardware. Like electricity, they can be acquired from facilities anywhere that have excess capacity. We already have an ISP infrastructure in place, perhaps they can be the conduit for a Cloud Services grid
Another short-term option is to follow the broker model used by insurance companies. Broker companies could take on the responsibility for the managing the reputation of the Cloud providers and could move their customer’s VMs around to follow the best price deals on CPU and bandwidth. They would have to take on the task of standardizing the interface for VM provisioning, although this will likely result in some non-conformity between brokers.
The solution to Cloud provisioning is about forming the right business model. Market forces will drive this initially and legislation will ultimately control its final shape. The most fascinating aspect of this process is that it will truly be global in scope and impact the economies of both the developed and developing countries.
I talked about privacy in the previous article, and now I’ve touched upon provisioning. One other road-block is scalability. That’s the focus of the next article.