An Introduction to concepts in Virtualization
Posted On January 11, 2016 by Sheetal Singh filed under Enterprise
There are number of definitions for virtualization. Here is one. Virtualization is a framework or methodology of dividing the resources of a computer into multiple execution environments, by applying one or more concepts or technologies such as hardware and software partitioning, time-sharing, partial or complete machine simulation, emulation, quality of service, and many others.
Sounds complicated? It really isn’t! However implementing virtualization solutions are complex and sometimes risky. Vendors such as Microsoft, VMware, Sun Microsystems, HP,EMC, Novell and many others are pumping in millions to be a leader in the race to gain marketshare in Virtualization.
Let us check a few scenarios of virtualization.
The most common virtualization technologies are:
•; Operating System Virtualization: where multiple logical (or virtual) operating systems run (aka "guests") on top of a fully functioning base (or "host") operating system. This method of virtualization usually uses a standard operating system such as Windows or Linux as the host, plus a virtual machine manager, to run multiple guest operating systems. Some vendors and products providing this type of virtualization include Microsoft Virtual Server, SWSoft Virtuozzo, Parallels Workstation/Desktop, Linux jails, and Sun Solaris containers.
•; Server Virtualization (also known as "system virtualization" or "native virtualization"): where multiple virtual operating systems run directly on top of the hardware without an intervening operating system. Typically, virtualization software will run directly on the base hardware, and the operating systems will be installed onto that virtualization software. So- called "paravirtualization" is (arguably) a subset of server virtualization that provides a thin interface to run between the base hardware and a modified guest operating system. Examples of server virtualization include VMware, ESX Server, and Xen.
•; Application Virtualization: where an application is provided to the end- user, generally from a remote location (such as a central server), without needing to completely install this application on the user's local system. Unlike traditional client-server operations, each user has an isolated, fully functional application environment, sharing few if any components with other users. Examples of this include Citrix Presentation Server, Thinstall Virtualization Suite, and Altiris Software Virtualization Solution.
•; Desktop Virtualization: where remote access to a complete desktop environment allows access to any authorized application, regardless of where the application is actually located. Examples of this include Microsoft Terminal Services, VMware Virtual Desktop, and Kidaro Managed Workspace.
•; Software Streaming: essentially a subset of other virtualization technologies that provides a way for software components - including applications, desktops, and even complete operating systems - to be dynamically delivered from a central location to the end-user over the network. A user can start using streaming software before the entire download has completed, much like video streaming without a complex and lengthy installation process. Examples of this technology include AppStream, Ardence (acquired in December 2006 by Citrix), and Microsoft SoftGrid.
•; Storage Virtualization: a way for many users or applications to access storage without being concerned at where or how that storage is physically located or managed. Typically storage virtualization applies to larger SAN or NAS arrays, but it is just as accurately applied to the logical partitioning of a local desktop hard drive. Examples include a range of hardware, software, and appliance solutions from IBM, EMC, Network Appliance, and others. Other virtualization technologies include data virtualization, clustering, grid computing, software-as-a-service (SaaS), and thin client computing.
The Benefits Of Virtualization
Virtualization has many significant advantages, both for IT and for the business as a whole. These success factors are contributing to specific competitive advantage, cost reduction, and productivity benefits for many organizations.
One of the strongest benefits of virtualization is business continuity and disaster recovery. Virtualization allows easier software migration, which makes it extremely valuable as a Disaster Recovery (DR) or Business Continuity Planning (BCP) solution. DR systems can even run on dissimilar hardware. In addition, virtualization reduces downtime required for physical system maintenance, whether planned or unplanned. This applies equally to servers and desktops, or even mobile devices.
Virtualization can greatly increase business agility and flexibility by decoupling business processing from physical hardware, allowing businesses to respond to rapid changes in demand. Virtualization also allows enterprises to deploy new products and services faster, with few or none of the lead-time required by hardware constraints, to quickly utilize offsite, contract, and offshore labor, and to more easily expand into new markets.
Virtual images are easier to restore after a failure - either an operational failure (such as a virus infection or other malware) or a hardware failure - reducing downtime caused by such failures. The portability of virtual images allows new and different hardware to be used for recovery, further reducing the downtime. Similarly, with application and desktop virtualization, end-users are not tied to a specific (failing) desktop or location and can get back to work on any machine very quickly, reducing the impact of any downtime.
Test and Development Agility
Part of the advantage of business agility derives also from test and development agility. Staff can develop and test new capabilities side-by-side on multiple operating systems, and benefit from faster build/test/rebuild cycles (especially across multiple operating systems). Virtualization reduces mundane deployment processes for production implementation to minutes instead of days or weeks, reduces procurement time, and results in fewer hardware compatibility issues.
Server consolidation and improved server utilization is another major benefit from virtualization, and is one of the traditional drivers as well. Enterprises can combine the workload from multiple underutilized physical machines into a single physical system. This dramatically reduces overall hardware spending, as it requires far fewer physical systems for the same application workload.
Virtualization can provide many security benefits such as:
•; Centralized and secured computing environments, even for remote users with laptops and other mobile devices
•; Allowing a clean "golden image" to be restored over the top of a malware-infected system to instantly restore a clean, secure environment
•; Individually encrypted local system images protecting the integrity of corporate data if a laptop, desktop, or hard drive is lost or stolen
•; Ability to share systems without sharing sensitive data by each booting up their own virtual environment (from an encrypted image, of course)
•; Central control over application of the time, type, and level of application access provided to end users
•; Fast and secure restore of environments for shared systems, such as classroom desktops, public kiosk, or shared terminals
•; Secure, isolated testing and debugging for potentially harmful applications, malware, new applications, and new security scenarios
•; Isolated customer separate environments without needing to acquire separate hardware for each new customer
Other benefits from virtualization can include better capability to achieve service levels, reduced administration costs, the ability to support legacy systems on new hardware without major upgrades, better business reaction to staff mobility and location issues, simpler deployment of otherwise complex applications, reduced hardware costs, reduced software costs, and reduced floor space costs.
The Downside Of Virtualization
However, virtualization is not all roses. Enterprises need to be aware of many significant issues from both a broad business perspective, and specifically regarding IT management. These issues will affect their ability to implement virtualization technologies, as well as the advantages they can gain.
Cost accounting and licensing become much harder in a virtual environment. Enterprises need to measure highly dynamic resource usage, not just acquisition costs. Some tools exist that can help, but they are rare and incomplete. One solution for licensing costs is to look at open source opportunities (e.g. Xen or OpenVz on Linux, etc.) to obviate licensing issues, but this is unlikely to resolve all the pertinent issues.
Enterprises should not underestimate the potential for human issues to affect their virtualization plans adversely. Virtualization requires a new set of skills and methodologies within both IT and the end-user community - including new and creative thinking, not just new training and skills. Departments and business owners may baulk at sharing resources. Enterprises should be prepared to deal with these human issues early and often in their virtualization projects.
Vendor support for specific environments on virtual systems can be hit or miss. Compatibility and support requirements may also preclude running specific virtual workloads together on a single system. Enterprises need to be aware of the hardware and software requirements from both their virtualization vendor and their other software providers, and be prepared to meet them before deploying virtualization technologies.
Virtualization tends to make the environment more complex by adding a new layer of software that must be maintained, including performance and availability monitoring, upgrades, patches, etc. Add to this the increased complexity of diagnosing problems, additional service desk calls due to user complexity, and the complexity of managing virtual images, and virtualization complexity can easily sideline an unprepared enterprise.
While virtualization can have many worthwhile security benefits, security also becomes more of a management issue. There will be more systems to secure, more points of entry, more holes to patch, and more interconnection points. Virtualization also introduces the risk of attack from entirely new forms of malware - root kit infections, low-level hypervisor attacks, deployment of malicious virtual systems, and malware that actually detects a virtual environment and modifies itself accordingly. Security becomes not necessarily more fragile, but certainly more critical.
Operating system and server virtualization can lead to a rapid proliferation of system images because it is so much easier and faster to deploy a new virtual image than to deploy a new physical server without approval or hardware procurement. This can impose very high management and maintenance costs and potentially lead to significant licensing issues, including higher costs and compliance risks. Enterprises need to manage their virtual environment with the same level of discipline as their physical infrastructure, using discovery tools to detect and prevent new systems from being created without following proper process.
Other potential problems include difficulty in using existing monitoring and management tools; new and significant hardware issues such as increased uptime requirements and more difficult capacity measurement and planning; potential
bandwidth issues, especially for end-user virtualization; support, integration, and compatibility of different operating systems; dealing with misleading and conflicting vendor claims; and the potentially unexpected costs of additional hardware and software.
Deciding whether or not to deploy virtualization - or deciding where to deploy it and where to stay with legacy systems
- is a complex and individual process. No two enterprises will get the same benefits from virtualization because so much relies not just on technology and application, but on human factors, manageability, execution, and expectations. Enterprises that are not familiar with virtualization should consult widely with their peers, with specialists in the field, and even with a range of virtualization vendors.
Some key decision factors include:
•; Technology issues: Are your applications suitable for virtualization? Do you have the right management technologies for virtual environments? Is your network robust enough to support the bandwidth requirements? Do you have storage capacity for the rapid expansion that virtualization will bring?
•; Human factors: Is your IT staff ready for virtualization? What level of training will be required to make them ready? Will you be able to roll virtualization out to end-users without significant disruption to their business processes? Do you have significant departmental and political divides that will affect a decision to virtualize?
•; Cost issues: Are you prepared for the cost of the initial deployment of virtualization technology? How much will you need to spend on new hardware, new software, new staff, training, development, and additional licenses? Do you know what your cost benefit expectations are? Have you prepared a comprehensive return on investment analysis?
These and many more issues will form critical success factors in any virtualization project. However, each virtualization deployment is different and it is rare that any single use case will achieve all of these benefits. In fact, in some cases, an enterprise may deploy virtualization technologies and achieve none of these benefits. The key is in gaining a complete understanding of the environment, the need, and the goals, and matching the right virtualization solution to the business.