A production host (130; 200) for hosting virtual machines, comprising: a backup storage client configured to provide the production host (130; 200) with remote access to a backup storage (120; 300) storing data associated with a portion of the virtual machines; a production agent programmed to: identify an instant access request for restoration of a virtual machine; in response to identifying the instant access request: send a request to the backup storage (120; 300) to generate instant access virtual machine data, comprising a data structure that reflects a state of the virtual machine at a point in time, in the backup storage (120; 300) using a portion of the data associated with the virtual machine; locally mount the generated instant access virtual machine data in order to provide access to the generated instant access virtual machine data in the backup storage (120; 300); locally instantiate the virtual machine using the instant access virtual machine data by loading executing components of the virtual machine into memory of the production host without storing the instant access virtual machine data in a persistent storage of the production host (130, 200); execute the instantiated virtual machine using the instant access virtual machine data; and store changes (Step 416), based on the execution of the instantiated virtual machine and while the instantiated virtual machine is executing, in a differencing disk stored in the backup storage. a backup storage client configured to provide the production host (130; 200) with remote access to a backup storage (120; 300) storing data associated with a portion of the virtual machines; a production agent programmed to: identify an instant access request for restoration of a virtual machine; in response to identifying the instant access request: send a request to the backup storage (120; 300) to generate instant access virtual machine data, comprising a data structure that reflects a state of the virtual machine at a point in time, in the backup storage (120; 300) using a portion of the data associated with the virtual machine; locally mount the generated instant access virtual machine data in order to provide access to the generated instant access virtual machine data in the backup storage (120; 300); locally instantiate the virtual machine using the instant access virtual machine data by loading executing components of the virtual machine into memory of the production host without storing the instant access virtual machine data in a persistent storage of the production host (130, 200); execute the instantiated virtual machine using the instant access virtual machine data; and store changes (Step 416), based on the execution of the instantiated virtual machine and while the instantiated virtual machine is executing, in a differencing disk stored in the backup storage. identify an instant access request for restoration of a virtual machine; in response to identifying the instant access request: send a request to the backup storage (120; 300) to generate instant access virtual machine data, comprising a data structure that reflects a state of the virtual machine at a point in time, in the backup storage (120; 300) using a portion of the data associated with the virtual machine; locally mount the generated instant access virtual machine data in order to provide access to the generated instant access virtual machine data in the backup storage (120; 300); locally instantiate the virtual machine using the instant access virtual machine data by loading executing components of the virtual machine into memory of the production host without storing the instant access virtual machine data in a persistent storage of the production host (130, 200); execute the instantiated virtual machine using the instant access virtual machine data; and store changes (Step 416), based on the execution of the instantiated virtual machine and while the instantiated virtual machine is executing, in a differencing disk stored in the backup storage. send a request to the backup storage (120; 300) to generate instant access virtual machine data, comprising a data structure that reflects a state of the virtual machine at a point in time, in the backup storage (120; 300) using a portion of the data associated with the virtual machine; locally mount the generated instant access virtual machine data in order to provide access to the generated instant access virtual machine data in the backup storage (120; 300); locally instantiate the virtual machine using the instant access virtual machine data by loading executing components of the virtual machine into memory of the production host without storing the instant access virtual machine data in a persistent storage of the production host (130, 200); execute the instantiated virtual machine using the instant access virtual machine data; and store changes (Step 416), based on the execution of the instantiated virtual machine and while the instantiated virtual machine is executing, in a differencing disk stored in the backup storage.