Out of all three of the different types of virtualization discussed in this blog, I believe that server virtualization is the type of virtualization everybody is most familiar with. When people say "virtualization", they are usually referring to server virtualization because this is the main area of virtualization, whereby a number of “virtual machines” are created on one server meaning that multiple tasks can then be assigned to the one server, saving on processing power, cost and space.
Server virtualization inserts a layer of abstraction between the physical server hardware and the software that runs on the server allowing us to run multiple guest computers on a single host computer with those guest computers believing they are running on their own hardware. The physical machine is translated into one or more virtual machines (VMs). Each VM runs its own operating system and applications, and each utilizes some allocated portion of the server's processing resources such as CPU, memory, network access and storage I/O. This means that any network tasks that are happening on the server still appear to be on a separate space, so that any errors can be diagnosed and fixed quickly.
By doing this, we gain all the benefits of any type of virtualization: portability of guest virtual machines, reduced operating costs, reduced administrative overhead, server consolidation, testing & training, disaster recovery benefits, and more.
Server and Desktop Virtualization
Server virtualization and desktop virtualization can be confusing topics if you don't know the inherent differences between the two virtualization technologies.
Server virtualization is defined as the partitioning of a physical server into smaller virtual servers. In server virtualization the resources of the server itself are hidden (or masked) from users. One common usage of this technology is in Web servers. Virtual Web servers are a very popular way of providing low-cost web hosting services. Instead of requiring a separate computer for each server, dozens of virtual servers can co-reside on the same computer.
That said, different products provide different levels of virtualization:
- Full virtualization - guest OS is unmodified and believes it is running on the same hardware as the host OS;
- Para virtualization - guest OS is modified;
- Emulation - guest OS is unmodified but it is running on a software emulated CPU.
I will go deeper into all of these types of virtualization in the next article.
Client-Based Desktop Virtualization
This method uses virtualization technology to separate the user's desktop environment from the physical computer and host operation system.
In this case, both the user's virtual desktop and the host OS run in parallel on the client hardware.
Server-Based Desktop Virtualization
This kind of virtualization allows the execution of the client desktop environment on the data center servers and presentation of that desktop environment on the client side. This is considered a type of client-server computing model because the virtualized desktop is stored on a centralized, or remote, server and not the physical machine being virtualized.
Desktop virtualization "virtualizes desktop computers" and these virtual desktop environments are "served" to users on the network. Users interact with a virtual desktop in the same way that a physical desktop is accessed and used. Another benefit of desktop virtualization is that is lets us remotely log in to access our desktop from any location. One of the most popular uses of desktop virtualization is in the data center, where personalized desktop images for each user is hosted on a data center server.
Desktop virtualization offers advantages over computers operating as individual units as each virtual desktop will not require its own hardware, operating system and software. Also, using desktop virtualization will lower the cost of deploying applications and will reduce downtime in the event of a server failure.
Advantages of Server Virtualization
The primary advantage with server virtualization is improved hardware utilization because many physical servers can be consolidated into a single physical machine while continuing to operate as separate yet virtual servers. Most traditional non-virtualized servers are only utilized at 5% to 10% of their total computing capacity. The benefits are tangible, because with virtualization the server can operate its original workload as a virtual machine, and host additional workloads simultaneously, often increasing the total utilization of the physical server up 80% of its total computing capacity.
Therefore, the number of physical servers can be divided by 5 to 10 on average, which represents a significant reduction in hardware and associated equipment.
Server virtualization allows the flexibility to seamlessly migrate workloads between physical servers, literally moving workloads at will or as needed. For example, a traditional server would have to be taken offline for maintenance or upgrades. With virtualization, all of the server's consolidated workloads can be migrated to a spare server or distributed amongst other servers, and then the original server can be shut down without any disruption to the workloads. Each virtual server run its own operating system and can also be independently rebooted. Once the maintenance work is completed, the workloads can be migrated back to the original hardware.
Before virtualization, IT administrators spent about most of their time on maintenance, support, and other tasks to maintain the infrastructure at the same level of performance. Now that time can be heavily reduced by means of using centralized management tools.
Virtualization enables applications to be run in a far more continuous way through mirroring and failover capabilities. Virtualization is also a bonus to data protection, and workloads consolidated with virtualization can easily be copied with periodic point-in-time snapshots or replicated to off-site storage systems with little (if any) of the performance penalty experienced with traditional tape backup systems.
Virtualization, for example, allows for duplicate images of servers to be made, usually in a cluster configuration, so in case of a breakdown, the same virtual server with updated data and applications can be up and running in a few minutes.
With more workloads running on less hardware, power and cooling demands are also lowered. Therefore, server virtualization is very important for data centers because it increases the data center's space utilization efficiency and promotes energy efficiency through reduced energy consumption and a reduction in server room cooling costs.