1. A computer program product stored on a non-transitory computer-readable storage medium, the computer program product comprising instructions for: generating a checkpoint of application data that is in a consistent state on a first node in a loosely-coupled cluster comprising a plurality of nodes separate from the first node, wherein the application data is data of an application running on the first node; sending the checkpoint to a plurality of nodes of the loosely-couple cluster, the plurality of nodes comprising a plurality of failover nodes for the first node, wherein the checkpoint is sent directly from the first node to the plurality of failover nodes; generating one or more log entries of changes in the application data between checkpoints of the application data; sending the log entries directly to the plurality of failover nodes from the first node; detecting a failure associated with the application running on the first node; determining a failover node that comprises a most current checkpoint data for the application from among the plurality of failover nodes that contain checkpoint data for the application in response to detecting the failure on the first node; and recovering the application running on the first node on the determined failover node that comprises the most current checkpoint data for the application.