A method for starting or resuming a stateful application within a stateless cloud computing platform of a cloud computing environment comprising a cloud storage, the method comprising: starting a cloud process, said cloud process being a stateless process and not being capable of saving and restoring any state information over a lifetime of the stateless process, the cloud process being capable of executing the stateful application within the cloud computing environment; loading and executing a virtualization layer by said cloud process, said virtualization layer capturing state changes to stateful applications and redirecting said state changes to said cloud storage; providing the stateful application to the cloud computing platform in the form of a package, the package including executable code and an initial state of the application, the initial state being the state of the stateful application as initially installed and configured; registering said stateful application with the virtualization layer so that said virtualization layer monitors executable code associated with said stateful application to detect a state change of said stateful application, said virtualization layer storing said state change on said cloud storage, comprising employing a differencing mechanism of the virtualization layer, the differencing mechanism identifying changes made to the initial state and storing the changes in a separate change database; the method further comprising: initially executing the stateful application by said cloud process; pausing execution of the stateful application resuming operation of the stateful application, wherein the differencing mechanism returns the stateful application to a stored state by loading the initial state, then applying the separate change database to re-create the current state. starting a cloud process, said cloud process being a stateless process and not being capable of saving and restoring any state information over a lifetime of the stateless process, the cloud process being capable of executing the stateful application within the cloud computing environment; loading and executing a virtualization layer by said cloud process, said virtualization layer capturing state changes to stateful applications and redirecting said state changes to said cloud storage; providing the stateful application to the cloud computing platform in the form of a package, the package including executable code and an initial state of the application, the initial state being the state of the stateful application as initially installed and configured; registering said stateful application with the virtualization layer so that said virtualization layer monitors executable code associated with said stateful application to detect a state change of said stateful application, said virtualization layer storing said state change on said cloud storage, comprising employing a differencing mechanism of the virtualization layer, the differencing mechanism identifying changes made to the initial state and storing the changes in a separate change database; the method further comprising: initially executing the stateful application by said cloud process; pausing execution of the stateful application resuming operation of the stateful application, wherein the differencing mechanism returns the stateful application to a stored state by loading the initial state, then applying the separate change database to re-create the current state. initially executing the stateful application by said cloud process; pausing execution of the stateful application resuming operation of the stateful application, wherein the differencing mechanism returns the stateful application to a stored state by loading the initial state, then applying the separate change database to re-create the current state.