VirtualizationVirtualization is a process that allows for more efficient utilization of physical computer hardware and is the foundation of cloud computing. Show
What is virtualization?Virtualization uses software to create an abstraction layer over computer hardware that allows the hardware elements of a single computer—processors, memory, storage and more—to be divided into multiple virtual computers, commonly called virtual machines (VMs). Each VM runs its own operating system (OS) and behaves like an independent computer, even though it is running on just a portion of the actual underlying computer hardware. It follows that virtualization enables more efficient utilization of physical computer hardware and allows a greater return on an organization’s hardware investment. Today, virtualization is a standard practice in enterprise IT architecture. It is also the technology that drives cloud computing economics. Virtualization enables cloud providers to serve users with their existing physical computer hardware; it enables cloud users to purchase only the computing resources they need when they need it, and to scale those resources cost-effectively as their workloads grow. For a further overview of how virtualization works, see our video “Virtualization Explained” (5:20): Benefits of virtualizationVirtualization brings several benefits to data center operators and service providers:
For a more in-depth look at the potential benefits, see "5 Benefits of Virtualization." SolutionsSeveral companies offer virtualization solutions covering specific data center tasks or end user-focused, desktop virtualization scenarios. Better-known examples include VMware, which specializes in server, desktop, network, and storage virtualization; Citrix, which has a niche in application virtualization but also offers server virtualization and virtual desktop solutions; and Microsoft, whose Hyper-V virtualization solution ships with Windows and focuses on virtual versions of server and desktop computers. Virtual machines (VMs)Virtual machines (VMs) are virtual environments that simulate a physical compute in software form. They normally comprise several files containing the VM’s configuration, the storage for the virtual hard drive, and some snapshots of the VM that preserve its state at a particular point in time. For a complete overview of VMs, see "What is a Virtual Machine?" HypervisorsA hypervisor is the software layer that coordinates VMs. It serves as an interface between the VM and the underlying physical hardware, ensuring that each has access to the physical resources it needs to execute. It also ensures that the VMs don’t interfere with each other by impinging on each other’s memory space or compute cycles. There are two types of hypervisors:
“Hypervisors: A Complete Guide” provides a comprehensive overview of everything about hypervisors. Types of virtualizationTo this point we’ve discussed server virtualization, but many other IT infrastructure elements can be virtualized to deliver significant advantages to IT managers (in particular) and the enterprise as a whole. In this section, we'll cover the following types of virtualization:
Desktop virtualizationDesktop virtualization lets you run multiple desktop operating systems, each in its own VM on the same computer. There are two types of desktop virtualization:
For more information on virtual desktops, see “Desktop-as-a-Service (DaaS).” Network virtualizationNetwork virtualization uses software to create a “view” of the network that an administrator can use to manage the network from a single console. It abstracts hardware elements and functions (e.g., connections, switches, routers, etc.) and abstracts them into software running on a hypervisor. The network administrator can modify and control these elements without touching the underlying physical components, which dramatically simplifies network management. Types of network virtualization include software-defined networking (SDN), which virtualizes hardware that controls network traffic routing (called the “control plane”), and network function virtualization (NFV), which virtualizes one or more hardware appliances that provide a specific network function (e.g., a firewall, load balancer, or traffic analyzer), making those appliances easier to configure, provision, and manage. Storage virtualizationStorage virtualization enables all the storage devices on the network— whether they’re installed on individual servers or standalone storage units—to be accessed and managed as a single storage device. Specifically, storage virtualization masses all blocks of storage into a single shared pool from which they can be assigned to any VM on the network as needed. Storage virtualization makes it easier to provision storage for VMs and makes maximum use of all available storage on the network. For a closer look at storage virtualization, check out "What is Cloud Storage?" Data virtualizationModern enterprises store data from multiple applications, using multiple file formats, in multiple locations, ranging from the cloud to on-premise hardware and software systems. Data virtualization lets any application access all of that data—irrespective of source, format, or location. Data virtualization tools create a software layer between the applications accessing the data and the systems storing it. The layer translates an application’s data request or query as needed and returns results that can span multiple systems. Data virtualization can help break down data silos when other types of integration aren’t feasible, desirable, or affordable. Application virtualizationApplication virtualization runs application software without installing it directly on the user’s OS. This differs from complete desktop virtualization (mentioned above) because only the application runs in a virtual environment—the OS on the end user’s device runs as usual. There are three types of application virtualization:
Data center virtualizationData center virtualization abstracts most of a data center’s hardware into software, effectively enabling an administrator to divide a single physical data center into multiple virtual data centers for different clients. Each client can access its own infrastructure as a service (IaaS), which would run on the same underlying physical hardware. Virtual data centers offer an easy on-ramp into cloud-based computing, letting a company quickly set up a complete data center environment without purchasing infrastructure hardware. CPU virtualizationCPU (central processing unit) virtualization is the fundamental technology that makes hypervisors, virtual machines, and operating systems possible. It allows a single CPU to be divided into multiple virtual CPUs for use by multiple VMs. At first, CPU virtualization was entirely software-defined, but many of today’s processors include extended instruction sets that support CPU virtualization, which improves VM performance. GPU virtualizationA GPU (graphical processing unit) is a special multi-core processor that improves overall computing performance by taking over heavy-duty graphic or mathematical processing. GPU virtualization lets multiple VMs use all or some of a single GPU’s processing power for faster video, artificial intelligence (AI), and other graphic- or math-intensive applications.
Linux virtualizationLinux includes its own hypervisor, called the kernel-based virtual machine (KVM), which supports Intel and AMD’s virtualization processor extensions so you can create x86-based VMs from within a Linux host OS. As an open source OS, Linux is highly customizable. You can create VMs running versions of Linux tailored for specific workloads or security-hardened versions for more sensitive applications. Cloud virtualizationAs noted above, the cloud computing model depends on virtualization. By virtualizing servers, storage, and other physical data center resources, cloud computing providers can offer a range of services to customers, including the following:
If you’d like to learn more about these cloud service models, see our guide: “IaaS vs. PaaS vs. SaaS.” Virtualization vs. containerizationServer virtualization reproduces an entire computer in hardware, which then runs an entire OS. The OS runs one application. That’s more efficient than no virtualization at all, but it still duplicates unnecessary code and services for each application you want to run. Containers take an alternative approach. They share an underlying OS kernel, only running the application and the things it depends on, like software libraries and environment variables. This makes containers smaller and faster to deploy. For a deep dive into containers and containerization, check out “Containers: A Complete Guide” and “Containerization: A Complete Guide.” Check out the blog post "Containers vs. VMs: What's the difference?" for a closer comparision. In the following video, Sai Vennam breaks down the basics of containerization and how it compares to virtualization via VMs (8:09): VMwareVMware creates virtualization software. VMware began by offering server virtualization only—its ESX (now ESXi) hypervisor was one of the earliest commercially successful virtualization products. Today VMware also offers solutions for network, storage, and desktop virtualization. For a deep dive on everything involving VMware, see “VMware: A Complete Guide.” SecurityVirtualization offers some security benefits. For example, VMs infected with malware can be rolled back to a point in time (called a snapshot) when the VM was uninfected and stable; they can also be more easily deleted and recreated. You can’t always disinfect a non-virtualized OS, because malware is often deeply integrated into the core components of the OS, persisting beyond system rollbacks. Virtualization also presents some security challenges. If an attacker compromises a hypervisor, they potentially own all the VMs and guest operating systems. Because hypervisors can also allow VMs to communicate between themselves without touching the physical network, it can be difficult to see their traffic, and therefore to detect suspicious activity. A Type 2 hypervisor on a host OS is also susceptible to host OS compromise. The market offers a range of virtualization security products that can scan and patch VMs for malware, encrypt entire VM virtual disks, and control and audit VM access. Virtualization and IBMIBM Cloud offers a full complement of cloud-based virtualization solutions, spanning public cloud services through to private and hybrid cloud offerings. You can use it to create and run virtual infrastructure and also take advantage of services ranging from cloud-based AI to VMware workload migration with IBM Cloud for VMware Solutions. Sign up today for an IBM Cloud account. What is virtual machine sprawl?Virtualization sprawl is a phenomenon that occurs when the number of virtual machines (VMs) on a network reaches a point where administrators can no longer manage them effectively. Virtualization sprawl is also referred to as virtual machine sprawl, VM sprawl or virtual server sprawl.
What is a system sprawl?Server sprawl is when multiple underutilized servers take up more space and consume more resources than can be justified by their workload.
Which of the following characteristics should you consider when deciding whether to deploy an application or service to a virtual machine?11) Which of the following characteristics should you consider when deciding whether to deploy an application or service to a virtual machine? Explanation: Hardware requirements, performance characteristics, licensing and compatibility are all important factors related to making a decision to virtualize an application.
Which term describes the layer of software that resides between the virtual operating system and the physical hardware IT runs on in a virtualization environment?A hypervisor is a thin layer of software that resides between the virtual operating system(s) and the hardware. The physical host is the actual hardware that the hypervisor software runs on.
|