1. A standby computing system for providing a shadow application instance for relocation of a primary application instance, comprising: a processor; and a memory coupled to the processor, wherein the memory contains instructions which, when executed by the processor, cause the processor to: automatically receive, from a primary computing device topologically remotely located from the standby computing system, event data for a primary application instance written to a first log data structure associated with the primary computing device; store the event data in a second log data structure associated with the standby computing system and a shadow application instance, wherein the primary application instance and shadow application instance are instances of a same application; update a state of the shadow application instance by replaying events in the second log associated with the shadow application instance to thereby bring a state of the shadow application instance to a consistent state with the primary application instance; relocate the primary application instance to the standby computing system using the shadow application instance in response to a failure of the primary application instance; and synchronize a state of the shadow application instance with a state of the primary application instance prior to receiving event data from the primary computing device by: receiving application data for the primary application instance from the topologically remotely located primary computing device; receiving an application checkpoint comprising checkpoint metadata that represents a same point in time as the copy of the application data; and initializing the shadow application instance on the standby computing system using the application data and checkpoint metadata.