1. A method for offloading a pre-designated software application intended to be run on a first virtual machine onto a second virtual machine: creating the first virtual machine; determining that the pre-designated software application is to run on the first virtual machine; detecting that the pre-designated software application is to be offloaded from the first virtual machine, including determining that continued running of the software application on the first virtual machine will detrimentally impact other operations by the first virtual machine; as a response to detecting that the pre-designated software application is to be offloaded, creating the second virtual machine for execution of the software application, wherein the second virtual machine is a replica of the first virtual machine, including enabling each of the first and second virtual machines to execute; and running the pre-designated software application on the second virtual machine, while the first virtual machine continues to execute the other operations.