What is Virtualization Technology in Infrastructure Management:
In this Series of Training Tutorials on A to Z of Networking, we learned all about Network Troubleshooting in our previous tutorial.
In this tutorial, we will explore the concept of Infrastructure management along with the need for the process of virtualization for managing the infrastructure in a more efficient way.
It also emphasizes the different types of virtualization, advantages and other concepts related to virtualization with the use of it in Infrastructure management.
For Software Professionals, virtualization is a very useful tool which offers a very suitable platform for the testers for developing and testing the software and checking their impact on which they are working.
What You Will Learn:
- Infrastructure Management in the Software Industry
- Need for Virtualization in Infrastructure Management
- What is Virtualization?
- Types of Virtualization
- Types of Hypervisors
- Advantages of Virtualization
- Virtualizing Desktop Computers
- Examples of Virtualization
- Virtual Hardware Concept
Infrastructure Management in the Software Industry
For an IT organization, infrastructure management consists of the management of all of its important assets and resources like equipment, data, and manpower along with the policies and processes they follow to ensure the smooth operation of services for the construction of an efficient network.
Broadly speaking, Infrastructure Management includes various types of management like application software management, database management, server & OS management, network management, and storage management.
Let’s understand this with the help of a live Example:
We take the example of an Android software application for online shopping – AMAZON.
When we surf the Amazon online shopping site. various pages which display the products under different category with price, offers, and reviews, etc., are available.
When we order some product and purchase it then all the payment and delivery details are saved in such a format which is understood by the software and the same will be displayed to the end user in the format understood by the customer. This is done by the database management process.
The size and content of data require a platform where it can be stored. This can’t be handled solely by physical hardware as a huge amount of data is to be stored, therefore virtual machines which are known as servers are used in such cases. Hence, the OS is configured as per the requirement in the machines.
All the virtual machines will communicate through network management with each other.
Through the storage management process, all the virtual data will be stored physically on some hard disk or storage device on a regular basis, so that in case of any data loss, all the data can be restored through a backup.
All these processes in total will be known as infrastructure management.
Need for Virtualization in Infrastructure Management
To manage the overall infrastructure of an organization like an IT company whose assets are distributed in various regions of the nation and overseas, we require a lot of software and to manage them IT administrators, manpower, energy, etc. will also be required.
These requirements in total will affect the business turnover by increasing the expenditure and takes a lot of time for implementation. To minimize the business cost and for optimal utilization of time and money, the concept of virtualization is introduced.
In simple words, with the help of virtual machines, space which is utilized to install a huge number of physical servers can be reduced to half, and this, in turn, saves energy which was spent in running those servers and to cool them.
Replacing physical servers by virtual machines will save the cost for involved in acquiring and maintaining the manpower. Moreover, the biggest advantage is that it is very easy and fast to deploy virtual machines to meet urgent business requirement and as a result, that would save both time and money.
Thus for a smooth and efficient running of the networking system, it is beneficial to deploy virtualization.
What is Virtualization?
The formation of virtual computing resources like storage, computer networking system, operating systems etc. is known as Virtualization. The basic building block of virtualization is a hardware unit like a server which has a group of resources.
Virtualization incorporates a definite physical resource like a server which emerges to behave as a compound of the virtual resources and vice-versa.
Virtualization can be:
- The formation of numerous virtual resources from one single physical resource.
- The formation of one virtual resource from single or many physical resources.
Types of Virtualization
The different types of virtualization include:
- Storage Virtualization
- Network Virtualization
- Application Virtualization
- Client and Server Virtualization
- Data Virtualization
#1) Storage Virtualization
This type of virtualization is most commonly used in network operating centers known as NOC or data centers of the organizations where there is a huge requirement of storing a large amount of data. Here it facilitates creation, deletion and modification of data at different hardware.
This is accomplished by connecting various hardware units on the same platform using a network connection like connecting through the fiber.
The details have been described with the help of the below figure.
#2) Network Virtualization
It is deployed in the infrastructure where there is a need to envision the servers situated far apart at various locations of the organization. Thus it facilitates to build up the VLAN networks and NAT etc.
The below figure describes how we can visualize our set-up by adopting VMware scheme:
#3) Application Virtualization
It is a division of the application installed from the host PC which is using it. From the user's point of view, the user can access the application as it was previously using it and can also make changes in it.
For application virtualization, we will use server-based architecture, in which the application is installed on one of the centralized servers at the NOC and the user desktop can access it from the remote end with only restricted rights.
To implement this, various software such as VMware thin app, Microsoft App-V, etc., are used.
#4) Client and Server Virtualization
In this type of virtualization, the services will run on the centrally managed server while they carry out at the client end that is situated locally.
However, the disk image of the OS will take a back up and update the system at a regular interval of time to keep the client and server in synchronization. There is no need for permanent connection of network between the virtual machine and the server.
The client virtual machine can operate without the OS by using hypervisor.
#5) Data Virtualization
It is the process of combining data from various resources of data to build up a solo, virtual and logical source of information so that it can be retrieved and easily accessed by the user based applications, dashboards, portals, etc., without knowing the origin of the location of the data.
The business organizations have adopted data virtualization on a large scale basis and these days it is mostly used in association with cloud computing technology.
The phenomenon of data virtualization consists of the following processes and the virtualization software should perform all the below steps:
- Abstraction: It means abstraction of data from various sources and location and abstraction of the language of the data source and its programming interface.
- Transforming: Depending upon the need of the business solution, integration, and transformation of the data in a suitable form.
- Federation: It performs the operation of bringing together the outcome of the above two processes from several sources.
- Delivery: The software should be capable of delivering the data as per the requirement of the end user or application source.
Thus data virtualization lowers the chances of data errors in infrastructure management and also accelerates the speed of accessing the data in a real-time scenario.
Types of Hypervisors
It is also known as the virtual machine monitor (VMM) and produces a virtual platform to the host PC for provisioning several visitor OS to run various programs on it.
There are two classes of Hypervisors:
- Native Hypervisor
- Hosted Hypervisor
#1) Native Hypervisors
These include software like Oracle VM system which streams through the hardware of the host system to manage it and to supervise the operation of the guest operating system.
The guest OS will float on a level above the hypervisor and each of them has a VMM.
#2) Hosted Hypervisors
These stream on a typical operating system just like the other software does. The guest OS streams as a course of action on the host.
Examples: VMware server and workstation, virtual box, KVM and QEMU etc.
Advantages of Virtualization
Enlisted below are the various advantages of Virtualization:
#1) Effective Hardware Utilization: Virtual machines itself behaves like hardware, thus by using virtualization the cost and maintenance required for the physical hardware is reduced and thereby making appropriate use of the hardware.
#2) Disaster Recovery: In case of data crash in the system or any other major fault, through the process of virtualization, it is easy to restore our virtual machines and make them run by moving them into another similar cloud system.
Also, management and restoration will be easier by making use of the virtualization concept for data loss.
#3) Save Energy: Converting the physical hardware into the virtual machine at the NOC center and at the remote end will lower the consumption of the power required to boot them and keep running. Thus overall energy is saved.
#4) Effective Utilization of Space in NOC: Suppose, to run a network one organization requires 20 racks of routers and 10 racks of switches and 30 PCs. To deploy all this hardware, a large space and equivalent resources like manpower, energy, AC etc will be required for maintaining it.
But with the concept of virtualization, to run this network, only less than half of this space will be required, thereby saving the space, money and time.
#5) Deploying server easily: While running a network, if suddenly one of our servers seem to look like over utilized then we can very quickly grow a cloning image of the server and can grow another server which will work in accordance with the existing one.
Thus through virtualization, we can prepare a substitute and make it run very easily. While if we physically install a server, then it will take days or even a week to make it operational.
#6) Guest operating system support: Different kind of operating systems behave in a diverse way and have numerous hardware requirements. The virtualization software will bring together the entire requirement on the same platform and fulfill them.
The virtual machines also support 32-bit and 64-bit processor to work.
#7) Guest add-on tools and drivers: The virtualization software provisions the set of add on tools and drivers for the virtual machines. This enhances the network operation of the networking system and inside the machine as well by means of increasing the processing speed.
It also provisions a 3D display tool which is used for gaming and fun purposes in the entertainment world.
Virtualizing Desktop Computers
In this process of virtualization, the overall desktop operation will take place within a centralized server unit.
The desktop clients are basically the thin clients which behave as an end device to make a connection with the nearby devices like keyboard, mouse or USB ports via LAN connection.
The software of these thin client contains the graphical user interface (GUI), cloud access agents, a native web browser and a collection of basic assets of utilities. The most common software that is used for desktop virtualization includes XenApp and XenDesktop.
Examples of Virtualization
a) Providing a User-friendly Software Test and Development Environment:
Suppose we have an idea for software development and if want to test if that will work or not, then by using the process of virtualization, we can create the lab and environment for testing the software.
Virtualization offers cross-platform utility to the developer for testing and uses the developer’s choice of language for coding to fabricate it natively. It offers to test your software on the platform of your choice like android, windows etc.
b) Running Multiple Applications Simultaneously on Smartphones:
With the help of virtualization, we can run multiple applications like real-time weather readings, the number of kilometers we walk in a day, compass etc on our smartphones without overburdening the phone memory as the data is stored at some other server and the calculations are done by the software that is installed in the server itself.
Only the organization which holds the ownership of the software permits the software to run on some other’s server. Therefore even the mobile phones with a small capacity of RAM like 100 MB or 1 GB only with the single core processor, will be able to run these heavy applications.
c) Virtualization and Cloud computing:
Virtualization is the basic building block of cloud computing.
Virtualization is the concept which permits us to build up several resources from a solo physical hardware system. The hypervisor software is connected straightly to the physical hardware and also divides one hardware unit into several virtual machines.
While on the other hand, cloud computing is the combination of method and theory that is used to deliver networking, storage infrastructure, services, and on-demand applications to the end user in any network.
Hence, we can say that cloud computing is the postman of virtual resources which delivers software, data etc., via the Internet.
These infrastructure applications and services which are delivered by the clouds are a combination of several kinds of virtual sources and virtual machines that are organized in such a manner by the software and management so that it can be used from anywhere on demand by the end user.
It is also supported by the dynamic resource allocation servers and applications. Hence the cloud infrastructure contains several virtual infrastructures to deliver the services to the end customer.
Virtual Hardware Concept
The hypervisor splits up each of the physical CPU units into many virtual CPU’s. It allocates one workload per virtual core.
For making a better understanding let’s consider the below Example:
A physical server has two processors naming CPU1 and CPU2, each having two physical cores.
So we are having 2*2= 4 physical cores.
If the hypervisor provisions 5 vCPUs for each physical cores, then summing up 5*4= 20 vCPUs, can be allocated to the machines.
The physical hardware memory of a system can be virtually distributed into two or more virtual machines. But the distributed memory size can’t exceed the overall hardware memory size.
Depending upon the type of application in which it is being used we can add, change and arrange the resources of the virtual memory to make the overall system performance more efficient.
The parameters of the virtual memory allocation are configured in the VM during their creation. But it can also be modified after the installation of the guest operating system.
The below figure shows the example of the allocation of physical memory into two virtual machines.
The main concept of this type of virtualization is combining together the physically stored data from the various physical storage devices to a centrally located data unit which will look like a single storage unit. The centralized server can’t offer a storage space more than that can be present at the physical locations and at the physical hardware.
But pooling the data at one center will be more secure and can be easily restored in case of any crisis. The data files which are virtually stored in the server have extensions like VDI, VHDX, and VMDK etc.
The below figure displays how the 12TB of the data is virtually stored by splitting up into four Virtual machines.
In the virtual networking, the virtual machines communicate with the physical devices like a server or a switch by using the virtual network interface card known as vNIC which in turn is connected virtually with a virtual switch for the further communication process.
All these virtual card and switches are created by the hypervisor software.
The virtual switch is connected to the physical switch via the physical card medium. The task done by different interfaces of the switch or the server can be divided into two or more virtual machines and each of them will carry out the work assigned to them.
The scenario will be more clear with the help of the below figure.
It is the hardware feature of all the latest versions of the Intel and other company CPU’s which permit a solo processor to behave as several individual CPUs. Thus in this way the CPU power can be used in a more efficient and effective way.
From this tutorial, we have understood that Infrastructure management is very crucial for managing and smooth running of an organization. It includes not only management of the hardware part of the company but also the policies, resources, data, energy, and money spent in the business for operations.
Virtualization is one of the key technologies which empowers the overall performance of the networking system of the organization by using its various aspects. This saves time as well as energy.
Also, the services will run faster and virtualization in association with cloud computing can provision and various deliver on-demand user applications.