| 4 | High availability (HA) refers to a system and associated service implementation that is continuously operational for a long period of time. With respect to the clients, an ideal system never stops working, which also means the system will always respond to the clients’ requests. Trying to achieve high availability is therefore one of the key concerns in modern cluster computing and failover systems. Whole-system replication is a conventional way to increase the system availability—once the primary machine fails, the running applications will be taken over by its replicas (backup machines). However, there are several limitations that make this method unattractive for deployment: it needs specialized hardware and software, which are usually expensive. The final system also requires complex customized configurations, which makes it hard to manage efficiently. |
| 6 | As virtualization becomes more and more prevalent, we can overcome these limitations by introducing the virtual machine (VM). In the virtual world, all the applications are running in the VM, so now it’s possible to implement the whole-system replication in an easy and efficient way — by saving the copy of the whole VM running on the system. As VMs are totally hardware-independent, the cost is much lower compared to the the hardware expenses in traditional HA solutions. Besides, virtualization technology can facilitate the management of multiple VMs on a single physical machine.With virtual machine monitors (VMM), the service applications are separated from physical machines, thus provides increased flexibility and improved performance. |