Virtualization is the process of creating virtual versions of physical components,such as servers, storage devices and network devices.
Virtualization servers as an effective way to reduce IT expenses while boosting efficiency and agility-not just for large enterprises, but also for small and midsize businesses. With Virtualization, you can run multiple operating systems and applications on a single server and consolidate hardware to get vastly higher productivity from fewer servers.
Key areas where virtualization is applied include
Server Virtualization
Network Virtualization
Storage Virtualization
Application Virtualization and
Desktop Virtualization
Using server virtualization, multiple operating systems can run on a single physical server as virtual machines,each with access to the underlying server’s computing resources. Each VM in the host is unaware of other VM’s that exist within the same host. So if a VM crashes, the other VM’s are not effected.
Network Virtualization is the complete reproduction of a physical network as software.
Storage Virtualization provides an abstraction layer for physical storage resources to be managed and optimized in a virtualization deployment.
Application Virtualization increases mobility of applications and allows migration to any server in the environment, with minimal downtime, by decoupling the application and OS from the server hardware.
Delivering virtualized desktops and applications to branch offices, outsourced and offshore employees and mobile workers on iPad and Andriod tablets helps reduce costs and increase service.
What is VMkernel?
The VMkernel is the liaison between virtual machines (VMs) and the physical hardware that supports them. VMware calls VMkernel a microkernel because it runs on bare metal, directly on VMware ESX hosts. The VMkernal is responsible for allocating memory, scheduling CPUs and providing other hardware abstraction and operating system (OS) services.
or
To be simplified, VMkernel is the kernel used by VMware ESX. It provides basic operating system services needed to support virtualization: hardware abstraction, hardware drivers, scheduler, memory allocator, filesystem (vmfs), and virtual machine monitor (vmm).