1. A method comprising: executing, by a computer system, a first virtual machine and a second virtual machine; creating, by the computer system, a first live snapshot of the first virtual machine and a second live snapshot of the second virtual machine; detecting, by the computer system, after the creating of the first live snapshot and the second live snapshot, a failure that affects the executing of the first virtual machine; and in response to the detecting: destroying, by the computer system, the first virtual machine and the second virtual machine, creating, by the computer system, a third virtual machine from the first live snapshot and a fourth virtual machine from the second live snapshot, and initiating, by the computer system, execution of the third virtual machine and the fourth virtual machine; wherein an output is transmitted by the first virtual machine to the second virtual machine during the creating of the first live snapshot and the second live snapshot; and wherein the output is not blocked.