IT virtualization is the creation of a virtual—rather than a physical—version of an IT device or resource. Many people think of virtualization only in terms of virtual machines (VMs), where one physical machine hosts many VMs running different operating system implementations. It’s not uncommon for example, for a single Intel or IBM POWER system to host several different virtual machines using the Windows, Linux, IBM i, or AIX operating systems, dramatically decreasing the physical hardware space needed in your Data Center (DC).
But it’s a mistake to think of virtualization only in terms of virtual machines. Virtualization technologies are used for several different DC functions, including some that you may not even think of as virtualized features. This week, let’s look at the world of virtualization and where it can and will benefit you.
Introduction to Virtualization
Virtualization has its origins in the mid-1960s when users relied on slow and inefficient batch processing and required expensive mainframe machines to speed up the process. A resource sharing system was required for multiple users to perform multiple batch jobs simultaneously. Original mainframe OS that enabled these capabilities made the overall system too complex and underoptimized. There used to be a single operating system image for every machine. The hardware resources and software systems were tightly coupled. Installing a piece of hardware to boost performance required users to shut down the entire system and when the systems were running, most machines could operate only a single application at a time to avoid system conflicts. The resulting infrastructure inflexibility and high cost of operating infrastructure resources necessitated a solution where the software application layer could be decoupled from the underlying hardware infrastructure.
The term Virtualization is described as the decoupling of a service request or system resource from the underlying physical infrastructure that powers the service. It is the science of emulating a hardware functionality within a software system – creating a virtual version of a physical systems such as hardware platforms, storage and network resources. The hardware resources are logically distributed between software applications that can consume the computing power in virtual infrastructure environments without having to depend on the physical hardware components. As a result, virtualization lets organizations operate hundreds of servers in the same way they operate a few server machines. This capability translates into easy, low-cost, manageable and optimized server operations.
How Virtualization Works
At the machine level, every computing operation is represented in binary digits, 1’s and 0’s. These digits can also be represented as the transistor states within computer processors: On and Off states. Computing processes involve the changing combination of these states or binary digits. These changing combinations or computing processes result from communication between the user, software application, operating system and the underlying hardware.
When users perform an application functionality, the software application communicates with the operating system, which in turn communicates with the hardware resources to perform the necessary computing operations represented in binary digits. The operating system doesn’t see the hardware as physical devices but the binary digits they represent.
Virtualization takes advantage of this process by emulating the hardware functionality that can be interpreted in binary digits at a machine level and delivers the virtualized environment in the form of software containers called Virtual Machine (VM). Each VM is typically isolated and provides an environment for operating systems and software apps to be operated separately from other VMs. The underlying hardware resources are pooled simultaneously between the VMs and delivered dynamically using Hypervisors.
A Hypervisor or Virtual Machine Manager (VMM) can be defined as the process, software, firmware or technique that is used to allocate physical hardware resources between multiple VMs.
What benefits does virtualization provider?
IT Virtualization is simply creating virtual resources that can be used by different entities, including VMs, operating systems, desktops, applications, and users. These virtual resources can be used in the same manner as any physical IT resource or application. Examples of virtualization in the IT world include:
- Server virtualization – Dividing a physical server into several smaller virtual machines (VMs) that run on the same hardware, and can be started, stopped, and accessed independently of each other. Running multiple Windows VM servers on an Intel box, or running different IBM i, Linux, and AIX partitions on an IBM POWER machine are well known implementations of server virtualization.
- Disk drive partitioning – Partitioning hard drives can be considered a virtual technology because it divides one physical set of hard drives into multiple disk drives that can be assigned to different servers or workstations.
- Network virtualization – Communications ports, such as Ethernet ports, can be virtualized and divided into several different IP addresses that can be used by different VMs, allowing different VMs on the same machine to share a network card.
- Desktop virtualization (Virtual Desktop Interface, VDI) – Virtualizes a workstation load, rather than a server load. Clients such as thin clients, smartphones, desktops, and tablets use a remote display protocol to run a virtual desktop on a host machine. All their desktop processing takes place on the virtual desktop, but all the results are displayed on their client’s local desktop.
- Application virtualization – Using an application virtualization product, an application is installed on a remote host and then delivered to the user’s desktop as if it were running locally. Application virtualization allows administrators to install an application once to a centralized server, making it much simpler to update applications and roll out patches.
- Storage virtualization – Allows storage from several different servers or storage devices to be pooled together to appear as a single storage device, which can be managed from a central console and assigned to different clients. Also known as cloud storage, storage virtualization provides better storage management and utilization.
The benefits of virtualization
Virtualization provides many benefits to an IT organization, including:
- Reduced costs– Sharing hardware through virtualization reduces capital spending, where a single machine or IT resource can stand in for multiple machines or resources. This reduces the amount of capital spend on machinery and reduces maintenance costs.
- Faster desktop and server provisioning and deployment – Servers or workstations can be cloned on existing machines and brought up within hours instead of days or months.
- Smaller footprints and energy savings – Virtualization reduces the size of Data Center resources, significantly reducing rack space and because you are running fewer machines, lowering energy costs. Reduced rack space also lowers Data Center costs and maintenance. Virtual networks don’t sprawl over as many machines, making it easier to create segmented subnets when servicing different companies or satisfying regulatory requirements, such as segmenting credit card processing for Payment Card Industry (PCI) Data Security Standard (DSS) implementations.
- Portability and migration– Virtualization makes it easy to move hardware configurations or copy hardware configurations between different hardware. Migration capabilities make it easier to migrate or clone machines to a different environment for business continuity, high availability, disaster recovery, or to create test or QA environments.
- Reduced application installation, upgrades, and maintenance – Application virtualization allows you to install critical applications on far fewer servers, provide quicker application upgrades, and maintain fewer copies of applications for users.
- Increasing IT operations efficiency – Tasks such as server and workstation deployment, setup, and maintenance that used to take days or months, can be accomplished in minutes or hours, freeing IT Ops to focus on more business specific tasks. Your IT staff becomes more efficient and productive.
- Increased hardware utilization – Storage virtualization allows you to pool existing storage into a single storage pool, allowing you to repurpose and reuse existing storage, rather than having to decommission old storage. Running multiple VMs on a single machine increases the utilization of a server, running the server to its full capability.
- Easier migration to the cloud – Because virtualization technologies separate or abstract IT processing away from its underlying hardware and software environment, virtualization makes it easier to move processing to a cloud environment.
Five considerations for virtualization
As you prepare your server workloads for the virtual world, you need to make a range of considerations to ensure performance, efficiencies, cost effectiveness, security and availability of the virtualized resources. The following considerations will be key in achieving those goals:
- Security and Compliance: Virtualization may affect the way IT workloads access and switch between different networking, computing and storage layers. Tightly regulated industries may require sensitive user data to reside on separate physical storage.
- Software Performance Loss: Workloads with high I/O requirements or simultaneous processing of a high number of workloads with low I/O requirements may deteriorate software performance in virtual environments. The performance loss is also seen during data transfers, backup and restoration processes. High network latency may also impact user experience of running the software in the cloud.
- Higher Cost: Apps tend to perform slower in virtual environments as compared to native physical infrastructure installation. This can be compensated by deploying better hardware for the servers hosting the software applications in VMs. As a result, the total overhead for maintaining optimum software performance increases.
- Managing Complexity: Users can customize and fine-tune VMs to address unique requirements of every IT workload and app, which may increase management efforts and complexity to operate the virtual infrastructure. For VM admins, this may add a layer of management responsibilities through multiple management consoles taking care of a distributed infrastructure environment comprising of network, software, administrative, OS and hardware virtualization. The virtualization platforms must be tightly integrated with the underlying systems to maximize performance potential of the overall system. Intelligent infrastructure monitoring and management capabilities may be required to maintain optimal operations within virtualized infrastructure environments.
- Future Proofing your Infrastructure: Fast and agile business organizations need to dynamically scale infrastructure resources based on unpredictable and evolving usage demands. Appropriate capacity planning strategies and tooling should be in place to maintain the agility that business organizations need to survive their competition as they leverage virtual infrastructure resources.
Infrastructure environments and systems optimized for virtualization allow organizations to host multiple server, hardware or application images in fewer underlying physical systems. Virtualized systems are highly scalable and flexible to address demand spikes, therefore optimizing resource investments. Virtualization also enables additional measures of security, disaster recovery and availability to ensure that consumer data remains protected with adequate regulatory compliance. Well-managed virtual environments simplify the efforts to mange software and server resources while maintaining business continuity.
The bottom-line is that virtualization offers significant improvements over physical infrastructure environments. For many workloads with high requirements on flexibility and scalability, virtualization may be a necessity. The next wave of virtualization that allows users to run multiple distributed applications in isolated, portable and reproducible virtual environments is particularly interesting and has been generating significant hype among the IT folks – and it’s called Containerization.