The goal of this project is to create an availability manager to monitor the status of Virtual Machines on a datacenter in a Vsphere server using Java and Vmware web services SDK. The project monitors both virtual machines and hosts for failure. When a failure is detected first the host is checked for failure. If the host has failed, an attempt to reconnect is done. If the reconnection fails, another host is searched for migrating virtual machines. If no other host is present, a new host is added and vm is restarted on that host. If virtual machine fails, it is reverted to an old cached image. The caching of images is done every 10 minutes. All the task mentioned are automated.