Virtualization

Large enterprise applications are usually deployed on powerful servers with multiple core CPUs, high RAM and storage capacity. A typical application has multiple tiers including the UI tier, processing tier and database tier. Each of these tiers has its requirements in terms of space, configuration or even the operating system.

Originally, the only way to meet the individual requirements of each tier was to deploy one physical server for each tier. Which would mean three (or six, if you added a redundant server for each tier for mission-critical applications), powerful physical servers. At the same time, it is quite likely that each of the physical servers is not fully utilized. This leads to an unnecessary higher server cost for the enterprise and also a higher cost to host the servers in a data centre and increased usage of power.

Virtualization is the solution to this problem. It is software that is installed on the physical server and provides the ability to create what is referred to as Virtual Machines (VMs). Each VM is effectively a completely independent "virtual" server, with its own allocated processing capacity, memory and operating system. With this solution, more than one tier can be deployed on one physical server, thus utilizing the servers to their maximum capacity and bringing down the number of physical servers required.

A hypervisor is a type of computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called a host machine, and each virtual machine is called a guest machine. The hypervisor is responsible for dynamically allocating computing resources to each virtual machine as needed.

Virtual Machines provide several other benefits. For example, a VM can be copied from one physical server to another, thus creating a backup server, without having to go through all the steps of installation and set up again.

Virtualization is what enables cloud computing where multiple virtual machines of various sizes can be created by the cloud computing service provided for its customers. The physical hardware is owned, hosted and managed by the service provider while the customers only get access to the virtual machine which works in all respects like a physical server without the actual "bare metal" as the physical machine is referred to. Cloud service providers can manage costs due to economies of scale. Many businesses need small servers for their applications, and even the smallest physical server would be too powerful and waste its capacity. Using cloud service providers, small businesses can pay for a small VM, many of which for multiple customers can run on one physical server.

Once a virtual machine has been created, the user can access it using Secure Shell or any other remote access technology and work on it as if it was a physical machine they owned.