Virtualization has been with us since the 1960s. In computer science terms, it is about as old as the hills. Yet this old-school idea has never been more relevant. We all know the hardware is expensive. Despite the cost, many businesses squander their precious processing power. All too often, a “one server, one purpose” mindset leads IT departments to waste server capacity. With virtualization, we leave this myopic view of server management in the dust. Dividing your physical machines into many virtual instances puts every last bit of your server capacity to work.
What is virtualization?
Virtualization is a computing technology that simulates physical hardware functionality to create software-based IT services like applications, servers, storage, and networks. By creating a virtual version of a resource or device (such as a desktop computer) from one computer system, virtualization enables companies to reduce hardware costs and increase efficiency.
Decades ago, operating system (OS) virtualization was born. In this form, the software is used to let hardware run multiple operating systems simultaneously. Starting on mainframes, this technology-enabled IT administrators to avoid spending too much costly processing power.
Beginning in the 1960s, virtualization and virtual machines (VMs) started on just a couple of mainframes, which were large, clunky pieces with time-sharing capabilities. Most notable among these machines was IBM 360/67, which became a staple in the world of mainframes in the 1970s. It wasn’t long before VMs entered the heart of personal computers in the 1980s.
But mainstream virtualization adoption didn’t begin until the late ‘80s and early ‘90s. While some VMs like those on IBM’s mainframes are still used today, they’re not nearly as popular, and few companies regard mainframes as a business staple. The first business to make VMs mainstream was Insignia Solutions, which created a SoftPC, an x86-based software emulator.
How does virtualization work?
Software called hypervisors separate the physical resources from the virtual environments—the things that need those resources. Hypervisors can sit on top of an operating system (like on a laptop) or be installed directly onto hardware (like a server), which is how most enterprises virtualize. Hypervisors take your physical resources and divide them up so that virtual environments can use them.
Resources are partitioned as needed from the physical environment to the many virtual environments. Users interact with and run computations within the virtual environment (typically called a guest machine or virtual machine). The virtual machine functions as a single data file. And like any digital file, it can be moved from one computer to another, opened in either one and be expected to work the same.
When the virtual environment is running and a user or program issues an instruction that requires additional resources from the physical environment, the hypervisor relays the request to the physical system and caches the changes – which all happens at close to native speed (particularly if the request is sent through an open-source hypervisor based on KVM, the Kernel-based Virtual Machine).
What are the different types?
Servers are powerful machines designed to run specific, complex tasks. It’s common for IT to assign one task or application per server, but this can often result in underutilized capacity and higher maintenance costs. Server virtualization uses a hypervisor to partition your physical servers into multiple virtual servers, each running its operating system. This lets you tap into the full power of your physical servers to significantly reduce computer hardware and operating costs.
Storage virtualization is when the physical storage from multiple devices on a network is pooled together in a unified virtual storage device that’s managed from a central console. To virtualize storage, you need virtualization software that can identify available capacity from physical devices and aggregate that capacity together in a virtual environment. For end-users, virtual storage looks like a standard physical hard drive. Virtual storage is an important component in IT strategy like hyper-converged infrastructure and allows IT admins to streamline storage activities like backup, archiving, and recovery.
Data virtualization enables an application to access and leverage data without requiring details like where the data is physically located or how the data is formatted. This means you can create one representation of data from multiple sources without moving or copying that data. This data aggregation relies on data virtualization software to virtually integrate and visualize the data through a dashboard, allowing users to access large datasets from a single access point no matter where this data is stored. Data virtualization is important for any kind of analytics or business intelligence application.
With the widespread use of virtualized environments, many organizations are also virtualizing their networks. Network virtualization works by splitting available bandwidth into independent channels, each of which can be assigned to a server or device as needed. Network virtualization makes it easier to program and provision the network—including load balancing and firewalling — without having to touch the underlying infrastructure. IT typically manages the software components using a software-based administrator’s console (also known as software-defined networking or SDN). Another method is network function virtualization (NFV); this virtualizes hardware appliances that provide dedicated functions for a network (such as load balancing or traffic analysis) to make these appliances simpler to provision and manage. As computing needs evolve, network virtualization simplifies how IT rolls out, scales, and adjusts workloads.
With application virtualization, users can run applications in a separate form regardless of the operating system in use. This is commonly used to run a Microsoft Windows application inside a Linux or Mac operating system.
Desktop virtualization allows users to simulate A workstation load so they can access desktops remotely from a connected device, such as a thin client at a desk. These virtual desktops enable more secure and portable access to data center resources.
Benefits of virtualization
Virtualization brings several benefits to data center operators and service providers:
- Resource efficiency: Before virtualization, each application server required its own dedicated physical CPU – IT staff would purchase and configure a separate server for each application they wanted to run. (IT preferred one application and one operating system (OS) per computer for reliability reasons.) Invariably, each physical server would be underused. In contrast, server virtualization lets you run several applications – each on its own VM with its own OS – on a single physical computer (typically an x86 server) without sacrificing reliability. This enables maximum utilization of the physical hardware’s computing capacity.
- Easier management: Replacing physical computers with software-defined VMs makes it easier to use and manage policies written in software. This allows you to create automated IT service management workflows. For example, automated deployment and configuration tools enable administrators to define collections of virtual machines and applications as services, in software templates. This means that they can install those services repeatedly and consistently without cumbersome, time-consuming. and error-prone manual setup. Admins can use virtualization security policies to mandate certain security configurations based on the role of the virtual machine. Policies can even increase resource efficiency by retiring unused virtual machines to save on space and computing power.
- Minimal downtime: OS and application crashes can cause downtime and disrupt user productivity. Admins can run multiple redundant virtual machines alongside each other and failover between them when problems arise. Running multiple redundant physical servers is more expensive.
- Faster provisioning: Buying, installing, and configuring hardware for each application is time-consuming. Provided that the hardware is already in place, provisioning virtual machines to run all your applications is significantly faster. You can even automate it using management software and build it into existing workflows.
Segmenting a single physical machine into multiple virtual machines enables you to make the most of available hardware, lower costs, and improve DevOps efficiency. Without virtualization, untold server capacity goes to waste. Not only does this cost businesses money, but it also contributes to the global carbon footprint.
If you are not already putting virtualization to work, it is time to critically examine your infrastructure. You may be surprised by how much it can benefit from virtualization.