Fault-tolerance of services has received great attention for years, yet it is not clear how this can be done efficiently for different types of services. Current research focuses on finding strategies to provide fault-tolerance using commodity hardware and as independent of the service and transparent to clients as possible.We propose a replication system to provide fault-tolerance for any type of service by running the service instance into a virtual machine and replicate the entire virtual machine using an asynchronous replication strategy.The testing prototype was implemented using Xen hypervisor and an asynchronous replication strategy that gives better replication time than the synchronous one.