Cloud Reference Model Ramkumar Lakshminarayanan
Virtualization is abstracting the hardware to runvirtual instances of multiple guest operating systemson a single host operating system.You can see Virtualization in action by installingMicrosoft Virtual PC, VMware Player or SunVirtualBox.These are desktop virtualization solutions that let youinstall and run an OS within the host OS.
There are many reasons for running Virtualization onthe servers running in a traditional data center. Hereare a few: Meantime to Restore Maximizing the server utilization Reduction in maintenance cost Efficient management
Virtualization on the ServerTypically the OS is designed to act as an interfacebetween the applications and the hardware.It is not specifically designed to run the guest OSinstances on top of it.
In the server virtualization scenario, the host OS is notvery significant.OS is not ideal for running multiple VMs and has alittle role to play, there is a new breed of softwarecalled Hypervisor that takes over the OS.
Hypervisor is an efficient Virtual Machine Manager (VMM)that is designed from the ground up to run multiple highperformance VMs. So, a Hypervisor is to VMs what an OS isto processes.A Hypervisor can potentially replace the OS and can evenboot directly from a VM. This is called bare metal approachto virtualization.These Hypervisors have low footprint of few megabytes(vmWare ESXi is just 32MB in size!) and have an embeddedOS with them.
Hypervisors are assisted by the hardwarevirtualization features built into the latest Intel andAMD CPUs.This combination of hardware and Hypervisor turnsthe server into a lean and mean machine to hostmultiple VMs.
The VM that is used by the Hypervisor to boot as ahost is called a paravirtualized VM.This concept makes virtualization absolutelypowerful.Imagine a server booting in few seconds and therequired paravirtualized (host) VM gets copied over agigabit Ethernet to run multiple guest VMs.This turns the datacenter to be very dynamic andagile.
Citrix XenServerXen’s paravirtualization technology is widelyacknowledged as the fastest and most securevirtualization software in the industry and it isenhanced by taking full advantage of the latest Intel®VT and AMD-V™ hardware virtualization assistcapabilities.It is free.
VMware ESXiThis product is another bare metal Hypervisor fromthe virtualization leader, VMware. This is one of thebest Hypervisors with just 32MB footprint.ESXi ships with Direct Console User Interface (DCUI)that provides basic UI required for administering andmanaging the Hypervisor.
Microsoft Hyper-V ServerThis is a free Hypervisor from Microsoft based on thesame Hypervisor that ships with Microsoft WindowsServer Hyper-V edition.This is best suited for Virtual Desktop Infrastructure(VDI) because of its compatibility with Windows Vistaand Windows 7. Hyper-V does not have any local GUIbut can be managed from System Center VirtualMachine Manager (SCVMM).
ElasticityWe know that the key attribute of the Cloud isElasticity, which is the ability to scale up and scaledown on the fly.This capability is achieved only through virtualization.Scaling up is technically adding more server VMs to anapplication and scaling down is detaching the VMsfrom the application.
Self ServiceThe Hypervisor comes with an API and the requiredagents to manage it remotely. This functionality cansurface through the Self Service portals that theCloud vendor offers.So, when you move a slider to increase the number ofservers in your web tier, you are essentially talking tothe Hypervisor to action that request.
Pay-By-UseBy leveraging the management and monitoringcapabilities of the Hypervisor, metering the usage ofresources like the CPUs, RAM and storage can beeasily achieved.
Programmable InfrastructureDevelopers can directly talk to the Hypervisorthrough the native APIs or Web Services exposed bythe Cloud vendors.Through this, they can take the control of the VMs.It is very obvious that the Cloud is heavily relying onvirtualization and efficient Hypervisors to achieve itsgoal.
Most of the Cloud providers give you an option tohost your application at a specific location.Depending on the customer base and the expecteduser location, you can choose a location.This will ensure that all your components like storage,compute and database services are hosted within thesame data center.This will reduce the latency and makes the applicationmore responsive Geographically.
Data Center A Cloud Data Center runs hundreds of ServersYour app will be deployed at a data center physicallylocated at a place that you have chosen.These data centers typically run thousands ofpowerful servers that offer a lot of storage andcomputing power.
ServerYou never know which physical server is responsiblefor running your code and the application.In most of the cases, the app that you deployed maybe powered by more than one server running withinthe same data center.Servers are treated as a commodity resource to hostthe VMs. There is no affinity between a VM and aphysical server.
Virtual MachineThis is the layer that you will directly interact with. InPlatform as a Service (PaaS), you may not realize thatyou are dealing with a VM but in reality most of theCloud implementations will host your code or app ona VM.Load balancer which will ensure that yourapplications are scalable by exploiting the power ofall the VMs associated with your application.