Virtualization has been the hottest trend in computer administration for the past decade. And during the rush to virtualization, VMware has stayed in top place despite strenuous efforts by competitors to unseat it. So it seemed that the only threat to VMware could be a disruptive innovation with a totally different model: cloud computing sites such as Amazon's EC2 or (on a somewhat different level) Google's App Engine.
Virtualization is basic to cloud vendors, of course (and VMware competitor's Xen is reportedly very popular among these vendors) but the market would still change radically if customers moved from hosting their own virtual systems to using cloud vendors.
I should mention at this point that a dozen bad puns ran through my mind as I was preparing this article. I decided to reject all of them and stick to serious reporting. VMware's announcements in regard to cloud computing a couple weeks ago represent an important industry shift and deserve attention without trivializing. So this article lays out the technical foundations and operation of vCloud. At the end, you can think up your own cloud-related puns, and keep them to yourself.
From the standpoint of innovation in virtualization, cloud computing can be seen as a natural evolution. VMware can offer it as a technology both for services and for sites who just want a more robust and geographically distributed implementation of virtualization on their internal servers.
But cloud computing also has broader implications for companies such as VMware. Right now there are heavy debates over whether you can really save money by putting your assets in the cloud; it's clearly cost-effective (and headache-relieving) at low levels of use and sucks up your money at high levels, but the location of the dividing line is unclear. As the vendors learn more about the business model, however, that dividing line is likely to move up, as with all disruptive technologies. And what happens to any administrative software provider, including VMware, if large numbers of major companies move to the cloud?
The recent vCloud announcement, coinciding with VMWorld conference, shows why VMware manages to keep its top place. Like Constantine and Christianity (I'm just talking history here; don't drag me into religious disputes), VMware isn't fighting the cloud but taking control of it.
vCloud allows customer sites to interact with multiple cloud vendors, using tools both from VMware and third-party partners. In a few months an API will follow (and this API is promised to be simpler than the current VI API).
From virtual machines to virtual applications
I talked on the phone this week to William Shelton, Director of Cloud Computing and Virtual Appliances at VMware. He described an evolution from bundling virtual machines to bundling virtual appliances (which can easily be copied and redeployed in order to handle fail-over or clustering) and now to virtual applications or "VApps." The VApp is the basis for making easier use of clouds.
A VApp can contain several virtual machines, so that you can bundle a cluster of database servers with a front-end web server and a reverse proxy and move them all into a cloud. Each participating cloud vendor will support the RESTful API that lets you insert and extract a VApp.
But VMware doesn't just want to streamline what cloud vendors already do; they want to add value. They're doing this through tools called Cloud vServices. Two such tools mentioned by Shelton are a charge-back system, which lets a cloud bill a customer in a standardized way, and an SLA tracking tool that I predict will be much appreciated.
Supposedly, SLA tracking will take you beyond the questions of how much disk space and CPU you're using, and actually tell you how well your web server responded to a flood of requests. Tracking won't do capacity planning for you, but it can help warn you when you need to add capacity. (I'll indulge myself here with a plug for a new O'Reilly book, The Art of Capacity Planning, that includes a section on virtualization and clouds.)
Shelton refers to the charge-back system and SLA tracking as examples of "plumbing" that VMware is adding to make it better suited as a cloud substrate.
A vCloud API is currently being designed in conjunction with several industry representatives. Shelton says that VMware knows how complex it is to program the current VI API, which is SOAP-based. So the vCloud API will be REST-based, rendering it much simpler to use and better suited for exposure over public Internet if desired.
Another important goal of the vCLoud API is to present the underlying infrastructure at a high level of abstraction, appropriate for highly scaleable cloud computing solutions. The client of the API is abstracted from the physical artifacts of the data center and from all artifacts of the VMware virtual infrastructure components, such as the VirtualCenter, resource pools, and clusters. Note that the current VI API allows you to send each request only to a single server, although if the server is a VirtualCenter it can control all the servers under it. In contrast, the vCloud API can truly function at a cloud level.
The vCloud API should expose everything vCloud covers: provisioning and extracting VApps, reporting SLA tracking, and so forth. Expect API documentation in Q1 of 2009 and vendor implementations during 2009.
Although VApps follow the Open Virtualization Format (OVF) standard, they reflect very specific VMware features and therefore are expected to be implemented only on VMware systems. Thus, VMware is marketing vCloud to vendors who run VMware on their servers.
So in a nutshell, that's what vCloud offers. Now let's look at a bit of the implementation.
Formats and tools
VMware's older bundle, the virtual appliance, included not only a snapshot of a running system--sufficient to set up a server that picks up where it left off on the old physical machine--but policies that make sure installation and deployment work the way you want. The policies in a virtual appliance describe such things as the manufacturer and version of virtualizaiton software you need, the disk format you want to run on, the amount of CPU you want, license information, and so on. All this information is encapsulated in an XML file and follows the OVF.
Partnering is critical to vCloud deployment. On the vendor side, VMware is working with a large collection of partners--the vast majority of whom have shown interest in vCloud--to offer services over it. On the format side, by supporting a standard XML format, VMware can interoperate with other management services such as rPath.
Naturally, VMware also plans to compete on the basis of ease of administration, which includes the ease of moving existing applications into the cloud without requiring application rewrite. An upcoming version of VMware Studio will support vCloud by letting administrators create a vApp with one click and move virtual machines into it with drag-and-drop. Changes to VMware Studio will arrive to market in conjunction with the next release of their VI platform, slated for 2009.
VMware in the cloud
Shelton stressed to me that VMware could have taken the route of setting up its own physical data centers and offering cloud computing itself, as many other services have done. But they chose instead to continue working with their partners and add value to what cloud computing services offer.
Technically, the vCloud promise of giving you interoperability and the chance to switch cloud vendors follows the path pioneered by Cleversafe, a company I profiled in 2006. Our data is less subject to arbitrary legal and privacy risks if we spread it around.
To my mind, vCloud is intended to let VMware insert itself as the intermediator between vendors and customers alike, thus keeping its relevance in the cloud computing age. Shelton, however, claims that "We are entirely focused on enablement, not intermediation. VMware will operate entirely 'out of band' in relation to transactions, migrations, and other arrangements enterprises and service providers who are part of vCloud ecosystem."
Economically, vCloud represents a familiar activity found in many industries. Every company would like to introduce some regularity and predictability into its relationships with suppliers. But Shelton said VMware is trying to be careful not to introduce too much standardization. They don't want to cut off innovation or leave their partners without a way to differentiate themselves. But if vCloud is successful, it will make clouds more responsive to user needs, as well as keeping VMware relevant.