Virtualization allows running multiple virtual OS on a single OS. Microsoft’s Virtualization technology is called Hyper-V and is built on advanced Intel and AMD processors (Intel VT or AMD-V processors). So I can now have a physical Windows 2008 Server and I can run Windows 2003 32 bit, Windows 2003 64 bit, non Windows OS (say SUSE Linux), Windows 2008 Server Core and a full fledged Windows 2008 64 bit Server.
I think this definition is the best one –
Server Virtualization technology enables customers to run multiple operating systems concurrently on a single physical server, where each of the operating systems runs as a self-contained computer.
So this gives the enterprise a tremendous benefit in terms of TCO – rather than buying multiple physical machines, now they can have one single physical machine and they can run multiple virtual OS concurrently. Note earlier this was available from other 3rd party vendors but this is first time that Microsoft is entering this space. And also MS’s solution allows running non Windows OS like Linux also.
In my opinion the best starting doc would be the Windows Server 2008 Reviewers Guide (http://download.microsoft.com/download/7/4/0/740ec042-5d5d-4f89-9fd2-8df554774ea4/Windows_Server_2008_Reviewers_Guide.doc)
The Virtualization sections of this doc give an excellent overview of Hyper-V technology and the overall context.
Also here are some videos on Hyper-V
Just one point to note – the definition I provided in for Server Virtualization only which would be provided by Hyper-V in Windows Server 2008.
There are other type pf Virtualizations like –
Application Virtualization: Microsoft SoftGrid Application Virtualization transforms applications into centrally-managed virtual services that are streamed to desktops, servers, and laptops when and where they are needed. SoftGrid dramatically accelerates application deployment, upgrades, and patching by simplifying the application management lifecycle.
Presentation Virtualization: With Microsoft Windows Server Terminal Services, a Windows desktop application can run on a shared server machine and present its user interface on a remote system, such as a desktop computer or thin client.
Desktop Virtualization: Microsoft Virtual PC runs applications that are not compatible with the operating system on a desktop PC by supporting multiple operating systems on a single machine. It also accelerates testing and development of new software and systems. In addition, with the Windows Vista Enterprise Centralized Desktop license for hosted desktop architectures (also known “virtualized desktop infrastructures”), an entire desktop can be hosted on a server and remotely delivered to another desktop computer.
Another two great resources are –
Virtualization team blog – http://blogs.technet.com/virtualization/default.aspx
Also tons of decks on virtualization is available on WinHEC 2006 – http://www.microsoft.com/whdc/winhec/pres06.mspx
Hyper-V is already released as Released Candidate for Windows Server 2008. Here’s a screen shot of Hyper-V Manager which is used to manage multiple instances of OS running concurrently.
This is probably is the simplest diagram for understanding the architecture of Hyper-V.
It runs below HAL (Hardware Abstraction Layer) in Windows Server OS Kernel and extends the features of hardware capabilities to the upper layers of OS like Server Core.
Couple of important points that I want to highlight especially (which is hidden in the mail):
- Windows Server virtualization is an x64 Editions technology only and can’t be installed on x86 builds of Windows Server 2008. That is it’s only a 64 bit platform. Though we can run x86 (32 bit) OS as virtual OS under it.
- It requires hardware processors with hardware-assisted virtualization support, which currently includes AMD-V and Intel VT processors only
Now that probably we are OK to go in deep here’s a detailed diagram of the architecture of Windows Hyper V architecture. Just note in the diagram that the hypervisor layer runs just on top of Hrdware, even below the kernel and provides services to kernel (as an API – and the hypervisor API is public).
Here’s the Virtualization Management Console. Though the technology is bit complicated for the IT Pros and Admins its really easy managing multiples OS concurrently. As we can see on the top of the console all OS that are running concurrently are showing. Double clicking the image below allows to connect to particular OS and perform the tasks for that OS. Really that easy!