1. A method comprising: accessing a model of a workload to be installed on a virtual machine of a system wherein the workload includes an application and an operating system to be installed on the virtual machine, the model of the workload comprising a component that identifies a source of the application and a component that identifies the source of the operating system of the workload and the model identifying the relationship between the operating system and the application by identifying a corresponding relationship between components in the workload model; accessing a model of the system wherein the virtual machine is to be created on a computing device to provide virtualized components of the system, the virtual machine emulates a computing environment that is compatible with the operating system and has the characteristics required to allow the application to run, the model of the system comprising components corresponding to the virtualized components of the system, the model identifying relationships among the virtualized components by identifying a corresponding relationship among the components of the model; and generating an installation specification for the workload, the installation specification being derived at least in part from the model of the workload and the model of the system, wherein the installation specification identifies an image file of the workload that is to be copied to a storage device of a computing device of the system on which the virtual machine is created in order to install the workload on the virtual machine.