Virtualization??? No clue?? I don't
blame you, the word has not made it to the dictionary yet. It is the next most
revolutionizing thing after Microsoft Windows, I think. Of course, its gonna
take a while to see its effects in daily computing needs of an average user.
What is Virtualization?In simple words it
is a way of putting more than one operating system into one server (hardware)
machine. We will still follow the tradition of installing one enterprise
software in one OS. But when we host multiple OS's on one hardware we are in
effect hosting multiple applications also on the same machine. This OS along
with its software is called a "Virtual Machine" and
the thin layer of software that sits on the hardware and enables these Virtual
Machines is called the Hypervisor.
Virtualization
is not simulation -
simulation is something that looks like the real thing but it is not e.g.
flight simulator. In this case, the actual OS is installed on virtual hardware.
Virtualization
is not emulation - emulation requires translation of commands of emulated
hardware into language understood by the physical hardware. In this case there
is no translation happening.
Both
Simulation and emulation approaches are slow and prone to errors while
Virtualization gives up to 95% of native performance. Depending on what
applications you are running on the Virtual Machine and of course which vendor
you are using, the performance varies slightly. But with the vast number of
features and cost savings, the little loss in performance is acceptable.
Data
centers will be the first to be benefited, then it would be the turn of
Desktops in Enterprises and ultimately all the desktops and laptop used by you
and me. I think before I jump into the technical details, I should throw some
light on the entities involved more so because this post is targeted towards
the average Joe who may not be working in the IT field.
Lets start
with some jargon:
Data
center - place where all the servers (hardware/machines) are kept
. These machines are generally much more powerful and costly than our
regular desk
tops.
IT
(Information Technology): Although IT field refers to computer world, but within
the computer world IT means the team responsible for setting up of the
enterprise servers, desktop, network, basically people who deal with hardware
and make the machines available for the users. E.g. System Administrator etc.
A
little background story about Data centers:
Generally depending
on the size of the enterprise there
might be multiple data centers. And every enterprise will have a number of
enterprise software like Microsoft Exchange for emails, web servers,
application server and scores of such software for every department in the
enterprise. As a rule of thumb on one physical server you
can put one Operating system and only one enterprise software. Traditionally it
is not at all a good idea to have more than one enterprise applications on a
single server due to a lot of reasons, it could be a lot of things that could
conflict and also if one application is down for some reason it would break the
other software also if it is on the same machine. So as the company grows, the
number of enterprise applications it needs, keep growing too. That translates
into more physical machines in the data center. That means more real
estate, more cooling is required- in other words more
power is required. Of course more
machines running means more carbon emissions. Yes IT
is a contributor to global warming. Green IT is
one of the benefits of Virtualization - we are going to talk about it more later.
Hardware
maintenance/upgrade or applying patches to the OS esp. windows is nothing less
than a daunting task. You need to schedule time for maintenance based on the
users of that machine, then stay late of work
on weekends so that bringing down the server will have a minimal impact. And
after applying the patch you need to test it. Also ordering/setting up the
machines with required software
and testing it, is
a pain in the neck for IT. Well more machines means more
spending on IT for the
space, cooling, power, people to maintain them. Well all
these problems are about to become passe very soon. It already has for most of
the fortune 1000 companies. Having said that it is not at all confined to big
enterprises, many small and medium enterprises have already embraced
Virtualization. Before we proceed, one important thing worth mentioning here is
the capacity of the hardware has been increasing over time. Meaning the CPU
speed, the number of CPUs, the number of cores per CPU (number of
logical processing units in a processor, the more cores per processor the more
powerful it is), the memory the hardware boxes can handle has considerably
increased over the years. And generally keeping future requirements in view the
hardware procured is much larger than needed. As a result the
utilization on the servers is much much lower than its capacity. Not to mention
the off
peak hours where utilization is all time low or even zero.
Lets sum
up some of the problems with traditional IT:
1.
Under-utilization of hardware
2.
Increasing requirement for space, cooling, power
3.
Increasing carbon footprint
4.
Resources required to manage the servers
5.
Security - need to keep track of all the different versions of operating
systems and keep them updated with the latest patches and service packs.
Virtualization
addresses all the above problems and a lot more.
Lets look
at of the advantages of Virtualization:
Server
Consolidation - To host say 10 OS (along with their enterprise software of
course) you will not need 10 physical machines. You would just need one
virtualized server. And 10 is just an example, based on the capacity of the
hardware you can stack up a whole lot more virtual machines without much of a
performance impact.
Infrastructure
cost reduction - Since less number of physical servers are required, the cost
of space, power and cooling
IT
responsiveness increases - due to the ease of provisioning new servers or maintaining
them, the response time of IT team will increase dramatically.
Improvement
in application availability - features like High Availability ensure
min. down
time. Without the cost of traditional redundant systems.
Back
up and recovery - With ability to
back up the whole VM and to recover at the VM Virtualisation takes these
features to new heights.
Disaster
recovery - provides disaster recovery at a fraction of the cost of
traditional disaster recovery approaches that needed exact replication of the
existing hardware set up.
Above
all makes earth
a cleaner and greener place by reducing carbon emissions be it from computers
or cooling systems required.
Well the
list goes on, but that discussion would be an item for another topic.
I
hope you got a basic idea of Virtualization.
I
am sure you must be thinking what you can to lay your hands on it to get a first
hand experience. No you
need not be an IT admin to experience that. Already there is stuff that you can
play with and that too for FREE:
Hosted
products (Run as a program on an OS) :
VMware
Player - Runs an already created VM on Windows platform. E.g. you
can download already created Ubuntu VM on your Windows Vista.
VMware
Server - Dont be
afraid of the word Server, it also runs on any windows OS but along with
running any pre-existing VMs (Virtual Machines) it
can also create any new VMs. And the options are endless, you can probably
create a VM of any OS that you can possibly find.
Server
products (Run on the hardware and enable VM running on top of it):
ESXi
hypervisor - this is the smaller version of ESX (commercial Hypervisor
from VMware) with foot print of
32 MB with all the functionalities of ESX but remember this is for server level
hardware only.
Commertial Products:
Hosted:
VMware
Workstation: This is similar to VMware Server discussed above but it has
VMware Tools and other pieces of software that are designed for use of a
typical Software Developer.
VMware Fusion: You own a
Mac and want to use windows applications, not a problem. VMware Fusion is the
tool for you.
Server:
ESX: the most
mature hypervisor in the market.
There
are lot of
other products in both Desktop and Datacenter areas. But its not
possible to put all the related topics under one title. Lets keep
the details for another article. But for more details you
can certainly visit www.VMware.com
P.S. These are entirely my
personal views and do not reflect the opinion of my employer VMware Inc.
~Kiran Malla
Resistance is futile...you will be Virtualized
Resistance is futile...you will be Virtualized