Virtualization in Distributed Systems

First let’s talk about Virtualization, refers to the creation of a virtual resource such as a server, desktop, operating system, file, storage or network. The main goal of virtualization is to manage workloads by radically transforming traditional computing to make it more scalable. Virtualization can be applied to a wide range of system layers, including operating system-level virtualization, hardware-level virtualization and server virtualization. [1]

Virtualization is the most effective way to reduce IT expenses and boost efficiency large to mid-size and small organizations. Virtualization lets you run multiple operating systems and applications on a single server, consolidate hardware to get vastly higher productivity from fewer servers and simplify the management, maintenance, and the deployment of new applications. [2]

The term virtualization is now associated with a number of computing technologies including the following [3]:

Storage Virtualization: the amalgamation of multiple network storage devices into what appears to be a single storage unit.

Server Virtualization: the partitioning a physical server into smaller virtual servers.

OS Virtualization: Multiple instances of an operating system are contained within a single device.

Network Virtualization: using network resources through a logical segmentation of a single physical network.

Application Virtualization: An application is installed on a server but can be accessed and used as if it were installed on a user’s local device.

Now, before implementing virtualization on distributed system, let’s see the benefits of Virtualization [4]:

· A system VM provides a sandbox that isolates one system environment from other environments,

· Virtualization helps isolate the effects of a failure to the VM where the failure occurred,

· A single hardware platform can support multiple operating systems concurrently,

· A virtualized system can be (dynamically or statically) re-configured for changing needs.

Distributed virtualization means transparent sharing of resources by many clients. The clients are neither aware of each other nor of various available resources. There are various levels at which virtualization can be implemented to increase the performance of a distributed network. Each level provides a unique direction to create a more reliable, robust, cost effective and efficient distributed system. The levels are [2]:

A. Application Virtualization: various organizations share the access of applications by as remote services. It leads to reduction in cost for software and infrastructure. The main concern for this level is to maintain the security across multiple users.

B. Utility Computing: Resources from various connected data centers are made available to be used as and when necessary. Major concern on this level is the proper implementation of resource management.

C. Grids:

· Computational Grids: Transparent sharing of computational server resources among multiple groups across or within an organization.

· Transactional Grids: To support high performance transactional applications, the distributed hardware and software resources can be shared. Main issue implementation lacks standardization.

· Data Grids: Data servers can be shared between various groups for easier access to distributed data. Main issue is the maintenance and consistency of the metadata.

D. Virtual servers: Virtual Server can use multiple operating systems and applications giving it functionality of multiple servers into one server.

E. Virtual machine: These are the nodes running their own CPU and OS in an independent environment for execution of various applications on portable platform.

F. Storage grids and utilities: Storage virtualization creates one virtual environment of multiple storage devices which makes back up, migrating data and storage expansion for multiple clients very efficient.

In conclusion, Virtualization in distributed computing brings flexibility, scalability, portability and cost advantage to an organization. There are some issues, challenges and concern which are to be considered and ways must be explored to overcome the serious issues like security, privacy, network management, data consistency, user and group management, maintenance and functionality of data when access is shared among different groups and organizations.

References

[2] KAUL, A., GUPTA, M., & KAUR, K. W. (2015). Virtualization. Using Virtualization For Distributed Computing. Published. http://www.iraj.in/journal/journal_file/journal_pdf/12-161-143617620637-39.pdf

[3] Beal, V. (2006, November 1). Virtualization. Webopedia. https://www.webopedia.com/definitions/virualization/

[4] Kesden, G. (2013, April 30). Distributed Systems [Slides]. Www.Andrew.Cmu.Edu. https://www.andrew.cmu.edu/course/15-440-s13/applications/ln/lecture25.pdf

Give me some time