VMware

« Changing Role of the OS | Main | Enterprise Software 2.0? »

November 07, 2006

Hypervisors, Operating Systems and Virtual Infrastructure

[photo of Raghu Raghuram]

Posted by Raghu Raghuram
Vice President of Datacenter and Desktop Platforms

It is widely acknowledged that in a couple of years, most if not all, new servers will be virtualized with the help of a hypervisor.

The average server in 2009 will overflow with compute, memory, and communication capacity - numerous CPU cores in every socket, DIMMs stocked with tens, maybe hundreds of gigabytes, and 10X increase in networking bandwidth. Virtualization is the most practical and obvious way to efficiently harness this capacity.  Especially when concurrent advances in processor and system hardware facilitate near zero-overhead virtualization, there is little reason not to virtualize.

With hypervisors on every server, the question is how do you put virtualization to best use? There are two points of view – the ‘operating system extension’ view and the ‘virtual infrastructure’ view.

Operating system vendors consider the hypervisor to be an extension to the operating system, providing mere single-machine partitioning capability while the OS continues to serve as the center of the world for such tasks as managing the hardware resources, providing system availability, governing security, and serving applications. The argument for this approach, of course, is that only incremental changes are required to existing practices for OS, hardware management and systems infrastructure in order to realize the partitioning benefits of virtualization. This is fine if you believe your current systems infrastructure is highly reliable, flexible and secure and needs only the additional benefit of higher resource utilization.

On the other hand, if you believe that today’s infrastructure is significantly complex, fragile and inflexible then you will be better served by fully exploiting additional fundamental advances that are enabled by virtualization. This is the virtual infrastructure viewpoint. Virtual infrastructure exploits the following:

Separation of the OS from the hardware resource management: For the first time in two decades, virtualization provides customers the opportunity to lift the OS cleanly off the hardware and have the OS primarily manage the application and end-users. Unlocking the hardware from the OS has already proven to simplify management of infrastructure and provides a clear separation between managing applications and managing infrastructure. Tying the OS to the application as a preconfigured, virtual appliance has proven to be remarkably powerful way of deploying and managing software faster.  In contrast, treating the hypervisor as an extension to the OS ignores this aspect of virtualization and continues the tight coupling between the OS and the hardware with all the attendant implications for complexity of change management, and makes the OS remain a single point of failure for the entire server and all its virtual machines.

Aggregation of resources and virtual resource pools: Second, these ubiquitous hypervisors distributed on every server can be orchestrated or clustered together through global resource managers to aggregate and create flexible, virtual pools of server, storage and network resources that can be freely allocated on demand. Hardware resources can be added or removed from these pools as needed. Power consumption can be orchestrated across these pools as needed. Failures of any hardware component are automatically and easily overcome using other available resources. Virtual resource pools may be dynamically and flexibly offered up to individual applications, groups of applications, business units or even discrete companies from a single shared infrastructure. This level of flexible, dynamic capacity management with an underlying shared infrastructure is only possible with virtual infrastructure because orchestrating dozens, if not hundreds of resource managers on disparate, commercial OSes is a daunting, if not impossible task.

Separation of Systems Infrastructure Services from the OS: Third, the operating system has traditionally struggled with two conflicting functions – the need to be as open and services-rich as possible in order to support all applications and the need to be simultaneously as closed as possible to deliver a high degree of reliability, availability and security.  In practice, the latter consideration has suffered at the hands of the former.  The goal of providing enabling a single OS to run all applications has resulted in unabated OS code growth from millions to tens or hundreds of millions of lines of code, mostly for application support.  As a result, customers pay a hefty price through expensive band-aids (examples: clustering, agents on every server, frequent patches for bugs and security holes, redundant identical hardware etc.) and complexity to work around this inherent design conflict.

With virtualization, there is now an opportunity to implement security, availability and reliability outside the OS, through the virtualization layer. Implementing these services outside the OS delivers significant benefits.  First, the implementation is global in scope - independent of any OS or any application. Second, implementing these capabilities once at the virtualization layer benefits every guest OS and application on every VM. You no longer have to implement and manage agents or software for availability or security or system protection per application. Third, since the implementation is not dependent on the OS, it is inherently less susceptible to attacks on the OS and therefore leads to a simpler, more robust infrastructure.

When you combine these three capabilities – applications deployed together with simplified OSes as virtual appliances; virtualization of distributed infrastructure to create virtual resource pools; and built-in, OS-independent systems infrastructure services to simplify infrastructure availability, reliability, and resource management – you get virtual infrastructure. 

Which model do you prefer? The old model of an integrated OS presiding over a monolithic systems infrastructure where the hardware, hypervisor, OS and applications are all bound together inflexibly, or the new model of virtual infrastructure that cleanly separates application requirements from hardware management and delivers shared, flexible, fault resistant system services universally to all your applications and operating systems.

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8341c328153ef00d834f96f5169e2

Listed below are links to weblogs that reference Hypervisors, Operating Systems and Virtual Infrastructure:

Comments

Which model of light do you prefer?

Is light a particle or a wave?

Maybe we need/want BOTH models of virtualization.

Nice article,but to achieve all this we need a High end/Good Configuration hardware.Host OS is is still bound to the machine hardware.what about data space you need some physical place to keep the data.i myself appreciate Virtual Machines.your article is one sided.

thanks

It all depends how you see it. It is perception and there are various versions of it.

Org. A: could be an organization which is investing TOTALLY for Virtualized Infrastructure and is totally dedicated to it and knows what it will expect in terms of investing in a long term technology. It could be a typical "Virtuogeneous" organization.

Org. B: could be a shop which wants to have all flavors (OS). And will prefer to have various of them. A typical Heterogeneous organization.

Bottom line is one needs to find a common ground in terms of uniformity. Making or talking about making an OS irrelevant does by no means mean that it IS irrelevant. It just is "a" layer that provides and services an application. The problem with most shops is that they spend too much time and money investing in technologies that merely service or facilitate the "core" activities of an organization.

So the choice is entirely on the customer, yes no doubt about that, the question is what is the "smartest" choice out of the existing smart choices out there?

I have seen myself (in Europe largely) that there are many other "hidden" issues that seem to govern the decision making and thought process when it comes to choosing or even identifying the smartest choice. In Asia, Africa and S. America (and to a smaller extent even in N. America and Europe) there is either an immediate need to deploy a completely virtualized architecture OR merely the lack of exposure to such choices.

The first comment can be interpreted as one from an organization which has too much time in hand to just "discuss" on pros and cons of it, while the second comment shows a bit of lack of understanding of the HW issues.

Let me give a real time example for a NPO effort where I am providing consultancy. Although we still need to decide on whether to use ESX or a plain VMware Server. All we need is one server with decent configuration, no high end. And you get started with the Virtual Infrastructure. Now when you start growing (with the highly consolidated and cost effective infrastructure), your earnings will definitely go up. And depending upon what an organization's goals are, you can make a choice to start adding more servers. And about data, there are enough configurations where you can let that beast we call creativity loose. Not everybody has SAN and not everyone will have SAN. You can build your own NAS/SANs.

So the challenges that this technology is facing is NOT the cool tools (be it provisioning, converters, data center management software etc)which is seen by many as boon but I see it as confusing the client/customer segment all the more BUT it is the lack of

o Expertise on a global scale
o Understanding about what virtualization is
o Unwillingness to budge and accept the technologies that will be ubiquitous tomorrow
o adequate evangelism in the SMB and lower education sector (K-12, High Schools etc)

So there are many factors that are making it hard to help this technology prevail. But that does not mean that it won't happen.

Virtualization is a great technology, especially for addressing quick response on provisioning to align with business demands. However, this may encourage ISVs to go more independent on software development that may result in propriety stacks with unmanaged code. Though the theme of interoperability is in tact, the theme of coexistence and use of frameworks for better manageability is destroyed. The number of VMs will outgrow resulting higher costs for care and feed in datacenters. Corporate America immediately looks for work force reduction to compensate costs in order to satisfy share holders rather than looking for value-added business growth.

Post a comment

If you have a TypeKey or TypePad account, please Sign In