A logging and replay device (120, 250, 260, 550), the device comprising: one or more shared services including a replay service; a processor for executing the one or more shared services; and a shared interface for providing access to the one or more shared services; wherein the replay service is configured to: select a log for playback; emulate a playback device associated with the log by: extracting a log entry from the log; recreating a service request for the one or more shared services based on information associated with the log entry; exchanging a synchronization message with a logging service, live device (160, 181-189, 210-230, 510, 520, 530, 540), or simulated device; estimating clock skew and latency based on information associated with the synchronization message; adjusting a timing and sequencing of the recreated service request based on the estimated clock skew and latency; and initiating the recreated service request; wherein the one or more shared services are configured to push the recreated service request to a live device (160, 181-189, 210-230, 510, 520, 530, 540) operated by a user. one or more shared services including a replay service; a processor for executing the one or more shared services; and a shared interface for providing access to the one or more shared services; wherein the replay service is configured to: select a log for playback; emulate a playback device associated with the log by: extracting a log entry from the log; recreating a service request for the one or more shared services based on information associated with the log entry; exchanging a synchronization message with a logging service, live device (160, 181-189, 210-230, 510, 520, 530, 540), or simulated device; estimating clock skew and latency based on information associated with the synchronization message; adjusting a timing and sequencing of the recreated service request based on the estimated clock skew and latency; and initiating the recreated service request; wherein the one or more shared services are configured to push the recreated service request to a live device (160, 181-189, 210-230, 510, 520, 530, 540) operated by a user. select a log for playback; emulate a playback device associated with the log by: extracting a log entry from the log; recreating a service request for the one or more shared services based on information associated with the log entry; exchanging a synchronization message with a logging service, live device (160, 181-189, 210-230, 510, 520, 530, 540), or simulated device; estimating clock skew and latency based on information associated with the synchronization message; adjusting a timing and sequencing of the recreated service request based on the estimated clock skew and latency; and initiating the recreated service request; extracting a log entry from the log; recreating a service request for the one or more shared services based on information associated with the log entry; exchanging a synchronization message with a logging service, live device (160, 181-189, 210-230, 510, 520, 530, 540), or simulated device; estimating clock skew and latency based on information associated with the synchronization message; adjusting a timing and sequencing of the recreated service request based on the estimated clock skew and latency; and initiating the recreated service request; wherein the one or more shared services are configured to push the recreated service request to a live device (160, 181-189, 210-230, 510, 520, 530, 540) operated by a user.