Hello:
This blog, (my first), is a way of discussing the important but technically complex virtualization space. I spend a great deal of time thinking about this part of the industry and there are two virtualization competitive struggles going on right now, whose outcome is going to profoundly affect users and vendors.
First is the specification of the virtual machine format. Is it going to be a license-free industry standard? If it is not and one company owns the license, they will have a defining control point over virtualization. The disk format of a virtual machine and the libraries that use that format will define how people provision, patch, recover, and otherwise manipulate their virtual machines. Microsoft is today pushing a standard called VHD [1] that has a Microsoft license as a requirement for full access.VMware has offered a specification, VMDK [2], that is freely available and has no license requirement.
The second area is the question of whether virtualization should be tightly integrated into the operating system or instead a separate wholly independent layer. Tight integration comes at the unfortunate cost of giving up bias-free choice of operating system and thus software stack (i.e. OS and application program).
The use of this freedom of choice can be seen clearly in hardware appliances like firewalls, routers, cell phones, DVRs, and set-top boxes. We judge an appliance by what it can do, how well it can do, and how much it costs. The underlying software does not matter and the appliance designer has the freedom to choose the best possible software stack for their appliance. They can take an OS written from scratch, customized from open source, or a 20-year-old kernel that happens to match their needs.
Virtualization brings the appliance model to modern computing environments in the form of virtual appliances. You can now select the ideal bundle for your requirements and then run it anywhere that has a compatible virtualization layer. Many VMware customers use this paradigm today within their companies to run mixed environments with hardware independence.
Some operating system vendors like Microsoft are saying that OS/Virtualization integration will mean fewer moving parts and a single point of customer contact. While intuitively appealing, this is not true if you stop and think about how virtualization is changing how we use and support the operating system.
Again, the appliance market best illustrates this. Appliance designers have the freedom to choose the best OS for the job and we see them utilizing a wide range of OSes (e.g. Windows, Linux, FreeBSD, Solaris, customOS, etc..). This rich usage happens without increasing the moving parts, there is a virtualization layer tied to the hardware and there is an appliance/virtual machine that is a transparent bundle of OS and application. This new bundle model reduces the customer viewed complexity (e.g. there is no OS from the customer's perspective). This also leaves the OS support problem to the appliance/virtual machine maintainer, this person will increasingly be someone other than the end user. This is similar to the software as a service (SAAS) trend.
The ideal scenario for the customer is for the virtualization layer to be something that comes with the hardware and supports, through an industry standard interface, all virtual machines. The virtual machines can include any operating system that is built for the underlying hardware architecture such as, in the case of x86, Windows, Linux, Solarisx86, the new MacOS, BSDUnix, and Netware.
Virtualization's breaking of the one OS per computer bond has given us the ability to choose software solutions based on relevant metrics such as functionality, reliability, security, and price. Tying the OS to the virtualization jeopardizes this benefit.
I was thinking about holding off talking about standards and open interfaces until next time but they are an integral part of the discussion, thus here is an addition on that. Standards, specifications, and open interfaces are what will make it possible for the entire industry to fully leverage virtualization on the x86 platforms. There should be complete transparency and unconstrained availability (standards, open interfaces) of the interfaces between the hardware and the virtualization, the virtualization and the operating system, and the format of the virtual machines.
- A virtual machine encapsulates an entire server or desktop environment in a file. The specification that describes and documents the virtual machine environment and how it is stored is critical to how virtual environments are provisioned, manipulated, patched, updated, scanned and backed up. VMware has made a specification virtual machine disk format called VMDK available for free without license and use restrictions.
- The interface between the virtualization layer and the operating system. It is ideal for this interface to stay standardized and open so that all operating system environments can be supported. Bundled OS/Virtualization solutions suffer from two obvious risks:
- The interface between the virtualization layer and the operating system will become complex and OS specific. This will make it more like an internal OS interface (like the Microsoft Windows Hardware Abstraction Layer) than a choice point. The interface will be optimized for the vendor's latest software and not other operating systems.
- The interface will become a control point for the OS vendor. OS vendors have long enjoyed the control they get from being the first software installed on the hardware.
- An API for managing virtual machines is needed so that all of the system management products can have one uniform way to manage all virtual machines. VMware has offered our API for managing virtual machines, developed and refined over the past 8 years. VMware is willing to support any API as long as it is functional to the full virtualization capabilities available in the market.
- Benchmarks. There are starting to be multiple offerings for virtualization and the customer needs a way to evaluate the performance of the different offerings on apples to apples basis. There should be a benchmark that can show the performance in real-world relevant ways and also in a way that requires as inexpensive a setup as possible.
Bookmark/Search this post with:
[3] | [4] | [5] | [6] | [7] | [8] | [9] | [10] | [11]