1. A system for automated provisioning of heterogeneous virtual environments, comprising: a processor configured to: receive an application; build a plurality of environment templates, generated from customizations of a blueprint using an enterprise software client by an enterprise software vendor, the plurality of environment templates comprising: a set of virtual machine instantiations each with software components installed per rules dictated in the blueprint for the application, service configurations for the set of virtual machine instantiations, virtual machine cluster instantiations configured as a service, and a second environment template for a basic install for application testing purposes as development proceeds; receive a first environment template of the plurality of environment templates, the first environment template comprising: an application development environment for the application that does not use unnecessary resources on the heterogeneous virtual environment, and at least one content repository for storing software artifacts used by the application; verify the first environment template; receive an environment configuration from the enterprise software client, the environment configuration comprising: provisioning customizations of a first environment using the first environment template, one or more environment endpoints that define services in the heterogeneous virtual environment to interact with systems external to the first environment; provision the first environment using the first environment template and the environment configuration; request virtual hosting space from a virtual computing host; clone the set of virtual machine instantiations in the first environment template on a virtual computing host; create a unique content repository identifier for the content repository in the first environment template; configure the set of virtual machine instantiations using the environment configuration; install interworking connections between the set of virtual machine instantiations and systems external to the heterogeneous virtual environment according to the environment endpoint; create a developed application based on the received application, wherein the application is created by an application developer on the first environment, and comprises: modifications made to the first environment, software artifacts on the content repository, and the set of virtual machine instantiations in the first environment; wrap the developed application into an application package with application configurations necessary for deploying the developed application; provision a second environment using the second environment template; deploy the application package on the second environment, which is different than the first environment and provisioned from the second environment template of the plurality of environment templates.