Thursday 29 November 2007

Welcome to the world of virtualization: vmware

Problem: More work on less hardware , with less people and less time.
Solution: Vmware virtulization.

What is virtulization:
The software layer providing the virtualization is called a virtual machine monitor or hypervisor.
Its basically a emulated set of hardware, they just give u virtual hardware environment, you need to install the real operating system and real application. They dont give u packed-up vesion of OS, no, they are not giving you virtual OS, its virtual hardware . Iam here talking about the vmware-workstation product. They just take the existing hardware and present to you as new set of hardware (virtual) , you need to install the real OS and applications on top of it.

Note: Applications & OS are real, only hardware is emulated.

With vmware, you can have multiple applications in your single machine, independent of each other, each application has its own OS and own set of virtual hardware. virutal hardware is identical where ever you go, virtual machine can be moved from machien to machine , b'cos of the hardware independece between the virtual machines.

Virtual hardware:
CPU:CPUS is something they dont emulate, CPU is allocated to different virtual machine, therefore they pass the instruction directly through from guest OS (virtual machine) down to the physical processor.

Memory: Memory is something they don't emulate, , memory is allocated to virtual machine, but the instructions are again sent thru to physical memory but, they do emulate all the other hardware like :Network card, serial & parallel ports, cdrom, floppy drive ,key board, mouse etc.

Now, with vmware , you can have multiple applications on the single host OS, b'cos they have their own virtual hardware, own protected memory and own environment, independent of other virtual machines. They are completely isolated machines, if anything happend to one virtual machine ,it does not affect the other virutal machine or the host OS.

Real world problem : You have a OS, which has complete control over the hardware, which then parcels out the resources to one or more applications. There are two problems with this ,which hurts the management of this system.

Application is completely dependent on OS configuration, different Applications means different service packs, OS service packs, and they can even crash the hardware if they misbehave with the OS, and they could misbehave in terms of driver, service packs, etc. Different applications shares the same hardware, so they can not work well together.

Os is tied to the hardware, thru its driver, kernel, because of its dependence on the hardware, it can not be moved easily, where as vmware virtual machine is basically a "file", therefore it can be moved to another mahine in matter of seconds, b'cos of its hardware indepedence across all hardware platform , across all os, the vmware emulated hardware remains the same.

Feature : Paritioning
1. Run multiple OS on one physical machine.
2. Fully utilze server resources.
3. SCSI reservations enable clustering.


Feature: Isolation & Workload Management
1. Key: Uses CPU harware (Protection)
2. Fault, performance, and security isolation.
3. CPU, RAM, Disk, and network resource controls.

Feature: System Encapsulation
1. Entire state of the VM is encapsulated: (Memory, disk images, I/O
device state)
2. VMs state can be saved to a file: (Checkpointing, aka "suspend/resume"
3. VM state can be transfered thru time and space :(Time: Store in a file, Space: Transfer over a network)


For more information on this cool technology, you can visit: http://www.vmware.com/