Virtualization
In computing, virtualization or virtualisation in British English (sometimes abbreviated v12n, a
Virtualization began in the 1960s, as a method of logically dividing the system resources provided by mainframe computers between different applications. An early and successful example is IBM CP/CMS. The control program CP provided each user with a simulated stand-alone System/360 computer. Since then, the meaning of the term has broadened.[1]
Popular examples of virtualization software includes VirtualBox and VMware Workstation Player.
Hardware virtualization
Hardware virtualization or platform virtualization refers to the creation of a virtual machine that acts like a real computer with an operating system. Software executed on these virtual machines is separated from the underlying hardware resources. For example, a computer that is running Arch Linux may host a virtual machine that looks like a computer with the Microsoft Windows operating system; Windows-based software can be run on the virtual machine.[2][3]
In hardware virtualization, the
Different types of hardware virtualization include:
- Full virtualization – Almost complete simulation of the actual hardware to allow software environments, including a guest operating system and its apps, to run unmodified.
- Paravirtualization – The guest apps are executed in their own isolated domains, as if they are running on a separate system, but a hardware environment is not simulated. Guest programs need to be specifically modified to run in this environment.
Hardware-assisted virtualization is a way of improving overall efficiency of virtualization. It involves CPUs that provide support for virtualization in hardware, and other hardware components that help improve the performance of a guest environment.[5]
Hardware virtualization can be viewed as part of an overall trend in enterprise IT that includes autonomic computing, a scenario in which the IT environment will be able to manage itself based on perceived activity, and utility computing, in which computer processing power is seen as a utility that clients can pay for only as needed. The usual goal of virtualization is to centralize administrative tasks while improving scalability and overall hardware-resource utilization. With virtualization, several operating systems can be run in parallel on a single central processing unit (CPU). This parallelism tends to reduce overhead costs and differs from multitasking, which involves running several programs on the same OS. Using virtualization, an enterprise can better manage updates and rapid changes to the operating system and applications without disrupting the user. "Ultimately, virtualization dramatically improves the efficiency and availability of resources and applications in an organization. Instead of relying on the old model of "one server, one application" that leads to underutilized resources, virtual resources are dynamically applied to meet business needs without any excess fat" (ConsonusTech).[6]
Hardware virtualization is not the same as hardware emulation. In hardware emulation, a piece of hardware imitates another, while in hardware virtualization, a hypervisor (a piece of software) imitates a particular piece of computer hardware or the entire computer. Furthermore, a hypervisor is not the same as an emulator; both are computer programs that imitate hardware, but their domain of use in language differs.[7]
Snapshots
A snapshot is a state of a virtual machine, and generally its storage devices, at an exact point in time. A snapshot enables the virtual machine's state at the time of the snapshot to be restored later, effectively undoing any changes that occurred afterwards. This capability is useful as a backup technique, for example, prior to performing a risky operation.[citation needed]
Virtual machines frequently use
Other components of a virtual machine can also be included in a snapshot, such as the contents of its
Restoring a snapshot consists of discarding or disregarding all overlay layers that are added after that snapshot, and directing all new changes to a new overlay.[citation needed]
Migration
The snapshots described above can be moved to another host machine with its own hypervisor; when the VM is temporarily stopped, snapshotted, moved, and then resumed on the new host, this is known as migration. If the older snapshots are kept in sync regularly, this operation can be quite fast, and allow the VM to provide uninterrupted service while its prior physical host is, for example, taken down for physical maintenance.[citation needed]
Failover
Similar to the migration mechanism described above, failover allows the VM to continue operations if the host fails. Generally it occurs if the migration has stopped working. However, in this case, the VM continues operation from the last-known coherent state, rather than the current state, based on whatever materials the backup server was last provided with.[citation needed]
Video game console emulation
A video game console emulator is a program that allows a personal computer or video game console to emulate a different video game console's behavior. Video game console emulators and hypervisors both perform hardware virtualization; words like "virtualization", "virtual machine", "host" and "guest" are not used in conjunction with console emulators.[citation needed]
Nested virtualization
Nested virtualization refers to the ability of running a virtual machine within another, having this general concept extendable to an arbitrary depth. In other words, nested virtualization refers to running one or more hypervisors inside another hypervisor. The nature of a nested guest virtual machine does not need not be homogeneous with its host virtual machine; for example, application virtualization can be deployed within a virtual machine created by using hardware virtualization.[8]
Nested virtualization becomes more necessary as widespread operating systems gain built-in hypervisor functionality, which in a virtualized environment can be used only if the surrounding hypervisor supports nested virtualization; for example,
The way nested virtualization can be implemented on a particular
Licensing
Virtual machines running proprietary operating systems require licensing, regardless of the host machine's operating system. For example, installing Microsoft Windows into a VM guest requires its licensing requirements to be satisfied.[12][13][14]
Desktop virtualization
Desktop virtualization is the concept of separating the logical desktop from the physical machine.
One form of desktop virtualization, virtual desktop infrastructure (VDI), can be thought of as a more advanced form of hardware virtualization. Rather than interacting with a host computer directly via a keyboard, mouse, and monitor, the user interacts with the host computer using another desktop computer or a mobile device by means of a network connection, such as a
As organizations continue to virtualize and converge their data center environment, client architectures also continue to evolve in order to take advantage of the predictability, continuity, and quality of service delivered by their converged infrastructure. For example, companies like HP and IBM provide a hybrid VDI model with a range of virtualization software and delivery models to improve upon the limitations of distributed client computing.[16] Selected client environments move workloads from PCs and other devices to data center servers, creating well-managed virtual clients, with applications and client operating environments hosted on servers and storage in the data center. For users, this means they can access their desktop from any location, without being tied to a single client device. Since the resources are centralized, users moving between work locations can still access the same client environment with their applications and data.[16] For IT administrators, this means a more centralized, efficient client environment that is easier to maintain and able to more quickly respond to the changing needs of the user and business.[17] Another form, session virtualization, allows multiple users to connect and log into a shared but powerful computer over the network and use it simultaneously. Each is given a desktop and a personal folder in which they store their files.[15] With multiseat configuration, session virtualization can be accomplished using a single PC with multiple monitors, keyboards, and mice connected.
Moving virtualized desktops into the cloud creates hosted virtual desktops (HVDs), in which the desktop images are centrally managed and maintained by a specialist hosting firm. Benefits include scalability and the reduction of capital expenditure, which is replaced by a monthly operational cost.[19]
Containerization
Operating-system-level virtualization, also known as
This provides many of the benefits that virtual machines have such as standardization and scalability, while using less resources as the kernel is shared between containers.[21]
Containerization started gaining prominence in 2014, with the introduction of Docker.[22][23]
Other types
- Software
- Application virtualization and workspace virtualization: isolating individual apps from the underlying OS and other apps; closely associated with the concept of portable applications
- Service virtualization: emulating the behavior of specific components in heterogeneous component-based applications such as API-driven applications, cloud-based applications and service-oriented architectures
- Memory
- Memory virtualization: aggregating random-access memory (RAM) resources from networked systems into a single memory pool
- Virtual memory: giving an app the impression that it has contiguous working memory, isolating it from the underlying physical memory implementation
- Storage
- Storage virtualization: the process of completely abstracting logical storage from physical storage
- Distributed file system: any file systemthat allows access to files from multiple hosts sharing via a computer network
- Virtual file system: an abstraction layer on top of a more concrete file system, allowing client applications to access different types of concrete file systems in a uniform way
- Storage hypervisor: the software that manages storage virtualization and combines physical storage resources into one or more flexible pools of logical storage[24]
- optical disk drive (see comparison of disc image software)
- Data
- Data virtualization: the presentation of data as an abstract layer, independent of underlying database systems, structures and storage
- Database virtualization: the decoupling of the database layer, which lies between the storage and application layers within the application stack over all
- Network
- Network virtualization: creation of a virtualized network addressing space within or across network subnets
- network protocol that replaces the actual wire or other physical media in a network with an abstract layer, allowing a network to be created over the Internet
- Network Protocol Virtualization: decoupling networking layers in order to accelerate the deployment and management of networks
See also
References
- ^ Graziano, Charles. "A performance analysis of Xen and KVM hypervisors for hosting the Xen Worlds Project". Retrieved 2013-01-29.
- ^ Turban, E; King, D; Lee, J; Viehland, D (2008). "Chapter 19: Building E-Commerce Applications and Infrastructure". Electronic Commerce A Managerial Perspective. Prentice-Hall. p. 27.
- ^ "Virtualization in education" (PDF). IBM. October 2007. Retrieved 6 July 2010.
A virtual computer is a logical representation of a computer in software. By decoupling the physical hardware from the operating system, virtualization provides more operational flexibility and increases the utilization rate of the underlying physical hardware.
- ^ Turban, E; King, D.; Lee, J.; Viehland, D. (2008). "19". Electronic Commerce A Managerial Perspective (PDF) (5th ed.). Prentice-Hall. p. 27.
- ^ "Virtualization in education" (PDF). IBM. October 2007. Retrieved 6 July 2010.
- ^ "Virtualization in education" (PDF). IBM. October 2007. Retrieved 6 July 2010.
- ^ Creasy, R.J. (1981). "The Origin of the VM/370 Time-sharing System" (PDF). IBM. Retrieved 26 February 2013.
- ^ Orit Wasserman, Red Hat (2013). "Nested virtualization: Shadow turtles" (PDF). KVM forum. Retrieved 2021-05-07.
- ^ a b Muli Ben-Yehuda; Michael D. Day; Zvi Dubitzky; Michael Factor; Nadav Har’El; Abel Gordon; Anthony Liguori; Orit Wasserman; Ben-Ami Yassour (2010-09-23). "The Turtles Project: Design and Implementation of Nested Virtualization" (PDF). usenix.org. Retrieved 2014-12-16.
- ^ Alex Fishman; Mike Rapoport; Evgeny Budilovsky; Izik Eidus (2013-06-25). "HVX: Virtualizing the Cloud" (PDF). rackcdn.com. Retrieved 2014-12-16.
- ^ "4th-Gen Intel Core vPro Processors with Intel VMCS Shadowing" (PDF). Intel. 2013. Retrieved 2014-12-16.
- CBS Interactive.
Finn explained that Standard covers 2 CPUs in a host, and goes from one VOSE (virtual operating system environment - 1 free Std install in a VM on that host) to two, and 'now has all the features and scalability of Datacenter.' He noted there will be a small price increase, but said he thought that wouldn't matter, as it 'should be virtualized anyway and the VOSE rights doubling will compensate. Windows Server Datacenter was a minimum of two 1-CPU licenses with unlimited VOSEs. 'Now it is a simpler SKU that covers two CPUs in a host with unlimited VOSEs,' Finn said.
- ^ "Windows Server 2012 Licensing and Pricing FAQ" (PDF). Microsoft. Retrieved 5 July 2012.
- ^ "Licensing Windows desktop operating system for use with virtual machines" (PDF). microsoft.com. Microsoft. Retrieved 22 December 2018.
- ^ a b "Strategies for Embracing Consumerization" (PDF). Microsoft Corporation. April 2011. p. 9. Archived from the original (PDF) on 15 August 2011. Retrieved 22 July 2011.
- ^ a b Chernicoff, David, "HP VDI Moves to Center Stage", ZDNet, August 19, 2011.
- ^ Baburajan, Rajani, "The Rising Cloud Storage Market Opportunity Strengthens Vendors", infoTECH, August 24, 2011. It.tmcnet.com. 2011-08-24.
- ^ "Desktop Virtualization Tries to Find Its Place in the Enterprise". Dell.com. Retrieved 2012-06-19.
- ^ "HVD: the cloud's silver lining" (PDF). Intrinsic Technology. Archived from the original (PDF) on 2 October 2012. Retrieved 30 August 2012.
- ^ Hogg, Scott (2014-05-26). "Software Containers: Used More Frequently than Most Realize". Network World. Network World, Inc. Retrieved 2015-07-09.
- ^ Gandhi, Rajeev (2019-02-06). "The Benefits of Containerization and What It Means for You". IBM Blog. Retrieved 2024-03-15.
- CBS Interactive.
- IDG.
- ^ "Enterprise Systems Group White paper, Page 5" (PDF). Enterprise Strategy Group White Paper written and published on August 20, 2011 by Mark Peters. Archived from the original (PDF) on March 30, 2012. Retrieved July 18, 2013.
External links
- An Introduction to Virtualization Archived 2020-10-22 at the Wayback Machine, January 2004, by Amit Singh