1. A method of providing optimized resources for cloud computing environments, comprising: receiving a request to instantiate at least one virtual machine in a set of cloud computing environments, the request including specifications of the at least one virtual machine and at least one parameter for instantiating the virtual machine; determining resource and service data for the set of cloud computing environments; selecting resource servers from the set of cloud computing environments to instantiate the at least one virtual machine based on the resource and service data, the specification of the at least one virtual machine, and the at least one parameter; and generating a request to instantiate the at least one virtual machine on the selected resource servers.