1. A system, comprising: one or more memory devices configured to store a primary application executing on a host with a host operating system; one or more interceptors configured to intercept calls from threads of applications to the host operating system, and configured to generate replication messages based on said intercepted calls; a barrier for said primary application that ensures that the replication messages from the primary application correspond to fully finished resource calls, by halting execution, and the corresponding replication messages are synchronized to the entry and exit of the interceptor; a checkpointing service for said primary application configured to checkpoint said primary application; one or more additional memory devices configured to store the one or more backup applications executing on one or more backup hosts each with a corresponding host operating system; one or more interceptors configured to intercept calls to said one or more backup host operating systems; a checkpointing service for each one or more backup applications configured to checkpoint-restore said one or more backup applications; and wherein live migration of said primary application to said one or more backup hosts is performed in response to an event or fault.