Virtualization and Cloud Computing are considered to have revolutionized the IT industry. But what lies behind the hype? What exactly is Virtualization? How did it evolve? How has it revolutionized the industry? What are its practical uses? This article attempts to provide a brief yet informative response to all these questions.
To do this, let us look at a simple definition of virtualization. Virtualization is the process of creation of a Virtual (rather than actual) instance of something, such as operating system, a server, a storage device or a network storage.
Let us now take questions one by one and put some light of knowledge on them.
What Exactly is Virtualization?
You probably come across the Virtualization if you have ever divided hard drive of your computer into different partitions. A partition is the logical division of a hard disk drive to create, in effect, two separate hard drives (e.g. in Windows C: and D:).This is most basic type of virtualization. Operating system virtualization is the use of software to allow a piece of hardware to run multiple operating system images at the same time. This technology started on mainframes decades’ ago. E.g. IBM based LPAR. Virtualization is often misinterpreted to be the splicing of a single large resource group, into multiple smaller resource group’s however it works vice-versa too where you combine multiple smaller resources to form a single huge resource, e.g., a supercomputer.
How Did It Evolve?
Virtualization has been investigated since the early days of computing. In the 1960s, Hardware architectures for providing virtualized memory systems and privileged software execution were developed. IBM mainframes have supported multiple fully virtualized operating systems since the early 1970s. In the 1980s and into the 1990s, virtualization was largely forgotten during the emergence of inexpensive desktop machines and Intel-based servers. The 2000s have seen a lot of progress in the area virtualization. Hardware vendors have added virtualization support, software vendors have created virtualization solutions, and businesses have adopted virtualization to solve business needs.
For software execution, the evolution of virtualization leads to the different types of virtualization that can be implemented at many levels such as:
- Hardware emulation – All aspects of a physical machine are simulated by software, allowing guest software to run unmodified.
- Full virtualization – Hardware resources and CPU instructions are mediated through a hypervisor which allows multiple guest operating systems to run on native hardware unmodified (e.g. VMware, z/VM)
- Para virtualization – Guest operating systems are modified such that they are aware of the hypervisor and cooperate with it (e.g. Xen, UML)
- Operating system-level virtualization – Server instances run on top of a single operating system, but provide custom execution environments (e.g. OpenVZ, Linux-VServer)
- Desktop virtualization – Desktop and applications are presented through a network-based protocol (e.g. VNC, NX, Terminal Services)
- Application virtualization – Application code is run through a virtual machine that abstracts the application environment so it can run on multiple platforms (e.g. Java, .NET)
- API emulation – Application APIs can be emulated in different operating system environments to allow non-native applications to execute (e.g. Wine)
In all cases, software is run in a way that abstracts the execution environment away from the underlying physical hardware, and allows the physical hardware resources to be shared in some manner.
What is the Need and How Has It Revolutionized the Industry?
Now the key question arises why virtualize? Why not continue with the tried and tested method of hosting on physical servers? And the simple answers are:
- Failover and disaster protection needs
- High desktop maintenance costs
- High server utilization needs
- Operational efficiency
- Environment friendliness
- Heterogeneous environment
When IT organisations adopt virtualization, they end up saving a lot of money depending upon the scale of set up. The average benchmark of savings is 200-300% of total cost. The report estimates a company currently operating 250 dual-core servers can save $4 million over the next three years by adopting virtualization technology.
Operational efficiency is the key feature as it provides “Single Window Implementation” to users to monitor, creation and deletion of VM’s which makes the life of system administrator easy. Virtualization provides the heterogeneous environment in which user not only be able to virtualize the live products but can also virtualize the testing environments, staging environments, QA & QC environments which can be merged in a Single Window Implementation and can be run easily. It is estimated that a power savings on the order of $157,500 for every 1,000 PCs per year can be achieved by businesses moving from a full desktop PC infrastructure to a server-hosted desktop virtualization setup. It leads to the space and power saving hence it is an Environment Friendly technology.
What are its Practical Uses?
Practical uses of virtualization include:
Server Based- Virtualization
It is the core of virtualization since it splices CPU cores and base elements such as disk space and memory. It is the Backbone of cloud computing and uses different levels of virtualization. At the heart of server-based virtualization lies Hypervisor, which contains the code for creating the virtualized environment on a server. It takes control of the physical server’s resources, and allocates the resources to individual Virtual Machines based on how the VMs are created and resource allocation is defined. It helps IT Manager’s reduce deployment time from weeks and days to literally minutes.
Storage Based- Virtualization
It can be termed as the amalgamation of multiple network storage devices into what appears to be a single storage unit.
Network Based- Virtualization
It is basically the process of combining of various network resources into a Single Dash Board software. It is still in its infancy stages, e.g., Cisco’s Nexus 1000V switch.
Virtualization is a key enabling technology for cloud computing environments.
Cloud Computing refers to the use and access of multiple server based computational resources via a digital network. For Cloud Computing customers, the Cloud means outsourcing of IT technology, applications and skills with a pay per usage model. “Software as a service”(SaaS) is sometimes used to describe application program offered through cloud computing. Cloud and Virtualization both help deliver optimized resources, on-demand utilization, flexibility and scalability.
It is clear from the above answers that if virtualization is adopted correctly and adequately, it has tremendous benefits to offer. Reap those benefits to make your software enterprise adaptable to the ever changing business conditions. The virtualization revolution seems to be slowly marching on, with analysts and industry experts naming the technology as one of the most versatile tools in IT. Virtualization (VMware) overcame hardware limitations that obstructed virtualization on Intel-based architecture, and virtualization success has led to what could be called a virtualization renaissance.
HARISH CHAUDHARY FREE LANCE TECHNICAL WRITER is a young, motivated and dynamic Software Quality Engineer,worked for QAInfoTech Pvt.Ltd.
He is passionate for Security and Penetration Testing to safeguard Data from hackers. He is a keen orator and has won himself a position by participating in testing conference organized internally at QA InfoTech as well as presented paper on "Assuring Data Security by penetration Testing" at 11th International Software Testing Conference 2011.
He is Master of Computer Applications from Guru Gobind Singh IndraPrastha University. Harish holds Diploma in Software Engineering and is also Microsoft certified SQL 2005 professional.Now working as a Information Security Researcher.