10. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out steps comprising: receiving a provisioning request for one or more cloud computing resources, wherein the provisioning request indicates a preferred cloud computing environment from which to provision resources; determining, based on a first one or more metrics, that the preferred cloud computing environment is not an optimal cloud computing environment to satisfy the provisioning request; in response to the determination, generating, from the provisioning request, another provisioning request encoded according to a particular cloud computing environment to fulfill the provisioning request, wherein the particular cloud computing environment is different from the preferred cloud computing environment; and provisioning, in the particular cloud computing environment that is different from the preferred cloud computing environment, the one or more cloud computing resources using the another provisioning request encoded according to the particular cloud computing environment by providing the another provisioning request to the particular cloud computing environment.
|