|
Page 1 of 2
Virtualization and Client-Server Technology
The Virtualization Trend
One of the biggest trends in information technology is towards virtualization. Virtualization broadly refers to the abstraction of computer resources. This often makes them appear and perform more powerfully than they would otherwise. It accomplishes this by concealing the physical characteristics of a resource (be it an operating system, storage device, server, or application) from the other systems interacting with it. It is really sort of a shape-shifter.
For example, it can make any one of the single computer resources mentioned previously and make them behave as if there are many of them. Likewise, it can make multiple applications or physical resources working together to appear to be operating from a single logic. It can make the many seem one and the one seem many.
Virtualization exploded in 2005 and it effects have been felt specifically in many of the technologies that make up client-server environments. Network, storage and server virtualization are the three major it fields of virtualization. Network virtualization divides bandwidth into channels to combine available resources located in the network. Each channel is independent of the other. They can be assigned to different servers in real time, thereby reducing latency. This form of virtualization disguises the complexity of network operations and divides it into controllable amounts.
Storage virtualization collects physical storage from different storage devices on the network into and apparently single storage device. But, all the storage from the different locations remain intact, they are just managed by central console to reduce processing power. SANs (Storage Area Networks) rely heavily on storage virtualization. Server virtualization is the concealing of server resources. This form of virtualization conceals the number and identity of physical servers and other processors, like operating systems. The idea is to relieve the user from having to understand and manage the complexity of server resources while facilitating resource sharing and maximizing utilization.
Ultimately, virtualization aims at cost reduction by centralizing administrative tasks and improving scalability, which is the ability of products or applications to adjust to increased volume or an object’s ability to adapt to a new context, say, a new operating system.
Benefits and Components of Virtualization
The benefits of virtualization are many. For example, fully configured applications and operating systems can move location, from one physical server to another immediately for maintenance and workload continuity. This means that resources are being used to their fullest potential all the time because virtual devices can run side by side on the same physical machine. However, the major benefits of virtualization can be summed up in the following categories: partitioning, isolation, and encapsulation.
Partitioning traditionally refers to the division of memory or storage. It is usually used for running separate operating systems on the same machine so their operations don’t conflict. It is also used to free up disk space. In virtualization, partitioning allows an single physical machine to sustain multiple applications and operating systems. It also allows servers to be combined into a virtual machine to be scaled according to the architecture. Partitioning also allows computer resources to be distributed to virtual devices intelligently in response to user and system needs.
Isolation implies the independence virtual machines afford. Virtual machines are completely isolated from hosts and other machines. This provides the security that if one machine crashes the rest of the machines will be unaffected. This isolation also ensures data control. Machines can only communicate through specifically configured network connections. Data cannot infiltrate or affect other machines or applications.
Encapsulation is similar to the abstraction and information hiding that characterizes virtualization. It is defined as the combination of elements to create a new entity. For example, OOP (Object-Oriented Programming) languages like C++ and Java use encapsulation to create high-level (abstracted) objects. In virtualization, an entire virtual machine and its contents are encapsulated so it can be saved as a single file. This makes it incredibly easy to copy and move. Encapsulation resonates with virtualization in its tendency towards hiding the details to make dealing with objects easier. This is accomplished by hiding complexity with a simple interface.
Generally speaking, virtualization provides consolidation. However, as described above encapsulation allows entire business environments to be saved on a few files. This makes it easy to copy and control. If an operating system is virtualized, including its applications and configurations, it can be moved anywhere in the organization without disrupting business continuity. Virtual machines (VMs) maximize availability by automatically migrating from weak or overwhelmed hosts to another virtualized platform.
|