1. A method executed by one or more computing devices for batch processing in a virtual environment the method comprising: identifying by at least one of the one or more computing devices, a batch job for execution, the batch job including a specification template specifying the required execution environment for the batch job and a batch application; determining, by at least one of the one or more computing devices, one or more virtual machine images based at least in part on the required execution environment; creating, by at least one of the one or more computing devices, one or more batch job-specific virtual machine images based at least in part on the one or more virtual machine images and the batch application; and generating, by at least one of the one or more computing devices, a batch job definition corresponding to the batch job, the batch job definition including an allocation of predetermined computing resources required for completion of the batch job; and queueing, by at least one of the one or more computing devices, the batch job for execution on a job queue.