1. A method for executing a computer system image on a virtual machine, comprising: receiving on a computing device a system specification file, the system specification file specifying the computer system image by specifying components of the computer system image, the components including an operating system and a resource, the system specification file also containing a signature associated with the resource; determining that the resource is authorized to be incorporated into the computer system image by verifying the signature; determining whether a stored computer system image having the components of the computer system image is available for use; if the stored computer system image is available for use, retrieving the stored computer system image for execution on the virtual machine; if the stored computer system image is not available for use, preparing the computer system image based on the components specified by the system specification file; executing the computer system image on a second virtual machine; storing a snapshot of the executing computer system image; and retrieving the stored snapshot of the computer system image for execution on the virtual machine.