Purpose of virtual machines: Each Virtual Machine is like a separate platform, and the host PC is transparent to the end user. A virtual machine reduces the amount of hardware required. The hardware on the host computer is shared among several virtual machines. If a virus infects a virtual system, then it is usually limited to that specific virtual machine only.
Memory (or RAM) is the most important component when considering a host machine for virtualization. You need to have as much memory as possible onboard the host machine so that the virtual machines do not suffer from delays in performing routine tasks.
Access rights: One needs to have access rights to access network resources. Access rights is a generic term that grants permissions to a user, or to an application, to read, write and erase files in the computer. Access rights can be tied to a particular client or server, to folders within that machine or to specific programs and data files.
The following are the benefits of virtualization:
1. Virtual Machine Migration: It is easy to migrate a virtual machine to another host machine easily. It was not so when you install your operating system on a physical hardware as a stand alone OS. In the later event, you need to worry about hardware compatibilities, and adequacy of hardware resources, and even the compatibility of the operating system with the application being used. Moving and setting up a service on a dedicated machine is also labor intensive. On the other hand, a virtual machine may be migrated to another similar host OS in matter of minutes. This has enabled moving data between data centers very fast and affordable.
2. Decoupling of infrastructure and the server platform: The OS is decoupled from the hardware in a virtual environment, thus making it easy for the application developer not to worry about the infrastructure. At the same time, it enables data center operator to concentrate on the infrastructure performance and stability.
3. Instant Capacity: Virtualization enables elastic capacity to provide systems at a moment's notice. In the physical server world, it could take weeks to procure the hardware and integrate it with the existing system.
4. Cost Benefits: With virtualization, data centers can consolidate server requirements to fewer, more powerful systems that use resources more effectively. This extends to space, power, port and cabling savings. These supporting elements of infrastructure can be very expensive, especially with respect to network and storage ports.
5. Isolating Applications: In the physical server, data centers frequently consolidated applications on servers. This was good for keeping the number of physical servers down but may lead to application incompatibilities or inappropriate allocation of resources. With virtualization, we can install applications on dedicated operating systems on a virtual server so that there are no local compatibility or resource conflicts allowing us to provision a virtual machine for required amount of memory and disk access, which are two primary resource areas in virtualization.
Virtualization Technology Examples
VMWare: ESX, and ESXi are VMware's platforms for virtualization. Though basic version is free, it costs extra money to unlock advanced management and enhancement features. XenServer on the other hand is fully open source and all advanced features are included in the single product at no cost at all. Both VMware and Citrix offer paid support for their products so you can also get help with the platforms.
Hyper-V: Hyper-v is the Microsoft product and is offered free of cost on selective platforms. Hyper-V enables running virtualized computer systems on top of a physical host. These virtualized systems can be used and managed just as if they were physical computer systems, however they exist in virtualized and isolated environment. Special software called a hypervisor manages access between the virtual systems and the physical hardware resources. Virtualization enables quick deployment of computer systems, a way to quickly restore systems to a previously known good state, and the ability to migrate systems between physical hosts.
KVM: Kernel-based Virtual Machine (KVM) is an open source virtualization technology built into Linux. KVM lets you turn Linux into a hypervisor that allows a host machine to run multiple, isolated virtual environments called guests or virtual machines (Vms). KVM is part of Linux.
1. Emulation involves making one system imitate another. For example, if a piece of software runs on system A and not on system B, we make system B "emulator" the working of system A. The software then runs on an emulation of system A.
2. In this same example, virtualization would involve taking system A and splitting it into two servers, B and C. Both of these "virtual" servers are independent software containers, having their own access to software based resources - CPU, RAM, storage and networking - and can be rebooted independently. They behave exactly like real hardware, and an application or another computer would not be able to tell the difference.
3. In other words, emulator is creating an environment that behaves in a hardware-like manner. This takes a toll on the processor by allocating cycles to the emulation process - cycles that would instead be utilized executing calculations. Thus, a large part of the CPU muscle is expended in creating this environment.
4. Emulation can be effectively utilized in the following scenarios:
Running an operating system meant for other hardware (e.g., Mac software on a PC; console-based games on a computer)
Running software meant for another operating system (running Mac-specific software on a PC and vice versa)
Running legacy software after comparable hardware become obsolete
While emulated environments require a software bridge to interact with the hardware, virtualization accesses hardware directly. However, despite being the overall faster option, virtualization is limited to running software that was already capable of running on the underlying hardware
1. Wide compatibility with existing x86 CPU architecture
2. Ability to appear as physical devices to all hardware and software
3. elf-contained in each instance
4. The option "Running software that is already capable of running on the underlying hardware" does not describe emulation, because there is total compatibility with the hardware.