1. A high availability system in a cloud computing environment, the system comprising: a snapshot manager disposed in a mirror environment, the mirror environment comprising at least one computer server; and a plurality of virtual machines disposed in a production environment, each of the plurality of virtual machines comprising a snapshot agent configured to perform a method comprising: periodically taking snapshots of the virtual machine associated with the snapshot agent; determining a delta image based on a change between a current snapshot and a previous snapshot; removing previous snapshots in the virtual machine to prevent performance degradation; and transmitting the delta image to the snapshot manager; wherein the snapshot manager is configured to store a recovery image for each of the plurality of virtual machines and to merge the received delta image with the recovery image to update the recovery image.