Processing virtualization clusters
There are two different forms of processing virtualization clusters. One depends upon a cluster manager that makes it possible to see multiple systems as a single computing resource. Another form of processing virtualization based clusters is based upon the use of server virtualization technology combined with performance monitoring software, orchestration software and virtual machine movement software.
Using a cluster manager
If the cluster manager detects a slow down or failure, applications may be moved from one system to another. The applications must be written to be cluster aware. Making a single-tiered application “cluster aware” is one level of complexity. The bigger challenge comes when with you are dealing with a complex multi-tiered application (i.e. web access layer, middleware and backend DBMS). Making a multi-tiered application “cluster aware” requires that you synchronize state information between all nodes and all application layers. Since most modern applications are multi-tier, multi-system and distributed, synchronizing all layers of an application and making sure that the right data gets to the right system at the right time can be a nightmare.
This form of processing virtualization requires multiple systems, storage virtualization and applications written to be cluster aware. Implementing this form of processing virtualization requires expertise in clustering.
If the organization is using an application that was written to be cluster-aware, data will not be lost if there is a failure. It can take quite some time, however, for this form of cluster to respond to an outage. The cluster manager has to examine each process that is executing, determine what cluster resources it is using and then assign that application to one of the remaining systems.
Virtual Server failover Clusters
Server Virtualization with Failover is an attempt at availability where an orchestration manager monitors these virtual servers. If a slow down or failure is detected by the orchestration manager, virtual machines are moved to another clustered system by virtual machine movement software, such as VMware's vMotion.
This form of processing virtualization is a bit less complex than using a clustering manager. Applications don't need to be specially developed to use a cluster manager. The organization needs, however, to have expertise on staff in virtual machine software, orchestration managers, storage virtualization and virtual machine movement software. If a failure occurs an entire virtual machine is moved to another machine, resulting in the transfer of a large amount of information. Uncompleted transactions can be lost. Furthermore, users may experience a considerable delay while a virtual machine is being moved from one physical system to another.
Dave then went on to discuss the fact that clustering approaches often offer high levels of availability, but the failover time can cause problems for applications that require immediate response at all times.