1. A method for virtual computing comprising: receiving a virtual computer specification, wherein the virtual computer specification defines a plurality of hardware and software configuration requirements for a virtual computer and a duration requirement for use of the virtual computer; requisitioning a plurality of computing resources based on the plurality of hardware and software configuration requirements; provisioning the plurality of computing resources from a pool of computing resources to obtain a provisioned virtual computer; and scheduling the plurality of computing resources of the provisioned virtual computer for use based on the duration requirement.