A high availability system in a cloud computing environment includes a snapshot manager disposed in a mirror environment having at least one computer server and a plurality of virtual machines disposed in a production environment. Each of the plurality of virtual machines includes a snapshot agent configured to perform a method. The method includes 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 and transmitting the delta image to the snapshot manager. 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.