Abstract
Increasingly relying on the cloud for deployment and assessing critical applications and services for businesses makes its high availability as an extremely critical aspect. The paper evaluates virtualization-based systems and techniques for the betterment of the overall resilience of a cloud environment. We have highlighted systems to perform monitoring, load balancing and dynamic allocation of resources, replication and live migration at backup sites and a number of pioneering approaches such as ghost VMs and Byzantine fault tolerance to ensure high availability. Moreover, hurdles and bottlenecks for the effectiveness and application of these systems are also identified. A real-world implementation of live migration is also presented with a concise discussion of the challenges faced during the setup and configuration phases.