According to CEO Paul Maritz, VMware is building nothing less than a "virtual datacentre OS" — VDC OS for short — that will eventually make traditional operating systems "all but disappear". If that sounds like shameless hype, consider the source. With the price tag for basic virtualisation functionality now essentially nil, VMware has little choice but to couch its expensive enterprise product line in increasingly grandiose terms. Virtualisation itself is old hat. What VMware offers is "virtual infrastructure" — a fully integrated line of platforms and management tools for virtualised environments. In some respects, VDC OS is merely the next rung on the VMware hype ladder. After all, if the media is predicting that OS vendors will put you out of business, preemptively proclaiming the death of the traditional OS is a decent tactic. If you look past the marketing, however, VDC OS is actually a fascinating concept. If VMware manages to achieve half of what it promises, it could have significant implications for application developers and customers alike.
According to VMware execs, VDC OS will not be a product as such. Instead, it is an umbrella concept covering a range of capabilities that VMware will build into the next generation of its Virtual Infrastructure products. Neither will VDC OS take on all of the responsibilities of existing operating systems, such as Linux, Unix or Windows. "It has many parallels with an OS, in the sense that it has APIs and services," says Maritz, "but it is not a traditional OS". Instead, VDC OS is literally an operating system for the virtual datacentre. The idea is to build services and APIs that make it easier to provision and allocate resources for applications in an abstract way. In VMware's idealised datacentre, applications don't exist in the traditional sense as processes running on specific CPUs, each with its own dedicated memory and storage space. Instead, they are reduced to "application workloads", defined by the malleable but finite quantities of compute resources needed to execute their individual roles. Developers will be able to tailor their applications for VDC OS environments using a forthcoming tool called vApp. You can think of a vApp as a kind of JAR file for virtualized n-tier applications. Instead of shipping an application as an independent component and requiring customers to supply their own app servers and databases to support it, vApp will allow an ISV to encapsulate the entire application infrastructure in a single bundle — servers and all. Metadata inside the vApp describes the operational parameters and service levels that its application workload requires. If a given application stack requires two CPUs, for example, or a certain amount of RAM, the VDC OS will read that information from the vApp, locate those resources, and provision them automatically. From the application's perspective, all of the underlying hardware is abstracted. Several virtual machines might be running on a single physical system. If one piece of hardware fails, the VDC OS seamlessly re-deploys the affected applications to other equipment. In fact, another VDC OS component, dubbed vCloud, will allow admins to transfer virtual machine instances from their own, on-premise hardware to that of third-party service providers.
To automate all of these processes in a way that's as seamless as an OS is an ambitious goal, to be sure. But if VMware's scheme succeeds, the software industry could be in for some interesting times. For starters, consider the current bugbear of the programming profession: parallel processing. Developers are under increasing pressure to write multi-threaded, parallelisable code to take advantage of today's multi-core chips. But writing and maintaining parallel processing code is extremely difficult, and not every algorithm parallelises well. With a VDC OS doling out compute resources on demand, however, hardware utilisation becomes less of an issue. Developers can go on writing single-process, serial applications the way they've always done, secure in the knowledge that the VDC OS will assign those unused cores to some other worthy application workload. As the use of virtual machines to drive up server utilisation becomes commonplace, developers might actually shift focus away from adding new features and instead concentrate on reducing their application workloads, to make their products more attractive for virtualised environments. A VDC OS could change the way software is sold, too. Rather than buy direct from the software developer — who might only offer one portion of an application stack — customers might instead gravitate toward "solutions providers", whose role would be to collect the various pieces of an application stack and market them as a vApp, in much the same way that Linux vendors bundle a wide range of software and tools as a Linux distribution. Unlike today's Linux vendors, however, vApp solutions providers would be able to offer the additional option of hosting the applications themselves. When the time is right, customers could use vCloud to transition from an on-premise hosting model to an on-demand one, reducing the labour and datacentre costs of the application considerably. In short, if done properly, a meta-operating system based on networked virtual machines could streamline software development, make IT more flexible, and save customers money. The question is, does VMware really have the commitment, the resources, and the know-how that it will take to deliver such a product — or were this year's VMworld announcements more spin than substance? Only time will tell.