1. A method for managing software updates to a virtual machine, the virtual machine for use on a plurality of systems and devices making use of the virtual machine, the method comprising: retrieving the virtual machine from a centralized repository available to the plurality of systems and devices, wherein the virtual machine provides a computing platform on which an application is executed; executing the virtual machine in a virtual machine monitor on a computer system; executing a script within the virtual machine, wherein the script applies one or more updates to the virtual machine while the virtual machine is executing to create an updated virtual machine, wherein the updated virtual machine includes an updated version of the computing platform on which the application is executed; recording steps involved in the one or more updates to the virtual machine, wherein the recorded steps are used for offline updating of at least a portion of another virtual machine; performing one or more automated tests of the updated virtual machine using the virtual machine monitor on the computer system, wherein the one or more automated tests validates functionality of the updated virtual machine; and in response to determining that the updated virtual machine successfully passed the one or more automated tests, replacing the virtual machine with the updated virtual machine in the centralized repository, and generating a signal indicating that the virtual machine has been updated.