A method comprising: determining that a virtual computing resource is to be provisioned on a server of a cloud computing network, the virtual computing resource configured to execute an instance of a service; obtaining first server utilization data indicating a first amount of a computing resource utilized by a first server of the cloud computing network, the first server capable of hosting the virtual computing resource; obtaining second server utilization data indicating a second amount of the computing resource utilized by a second server of the cloud computing network, the second server capable of hosting the virtual computing resource; obtaining, from a first network switch device of the cloud computing network and that is connected to the first server, first network parameter data indicating utilization of a network resource of the first network switch, the network resource to be utilized by the first network switch to provide network connectivity to the first server to host the virtual computing resource; obtaining, from a second network switch of the cloud computing network and that is connected to the second server, second network parameter data indicating utilization of the network resource of the second network switch, the network resource to be utilized by the second network switch to provide network connectivity the second server to host the virtual computing resources; determining that the first server is more constrained for the computing resource than the second server device based at least in part on the first server utilization data and the second server utilization data; determining that the first network switch is less constrained for the network resource than the second network switch based at least in part on the first network parameter data and the second network parameter data; determining that the first server is most optimized for provisioning the virtual computing resources based at least in part on the first server being more constrained for the computing resource than the second server and based at least in part on the first network switch being less constrained for the network resource than the second network switch; and causing the virtual computing resource to be provisioned on the first server based at least in part on the determination that the first server is most optimized for provisioning the virtual computing resource. determining that a virtual computing resource is to be provisioned on a server of a cloud computing network, the virtual computing resource configured to execute an instance of a service; obtaining first server utilization data indicating a first amount of a computing resource utilized by a first server of the cloud computing network, the first server capable of hosting the virtual computing resource; obtaining second server utilization data indicating a second amount of the computing resource utilized by a second server of the cloud computing network, the second server capable of hosting the virtual computing resource; obtaining, from a first network switch device of the cloud computing network and that is connected to the first server, first network parameter data indicating utilization of a network resource of the first network switch, the network resource to be utilized by the first network switch to provide network connectivity to the first server to host the virtual computing resource; obtaining, from a second network switch of the cloud computing network and that is connected to the second server, second network parameter data indicating utilization of the network resource of the second network switch, the network resource to be utilized by the second network switch to provide network connectivity the second server to host the virtual computing resources; determining that the first server is more constrained for the computing resource than the second server device based at least in part on the first server utilization data and the second server utilization data; determining that the first network switch is less constrained for the network resource than the second network switch based at least in part on the first network parameter data and the second network parameter data; determining that the first server is most optimized for provisioning the virtual computing resources based at least in part on the first server being more constrained for the computing resource than the second server and based at least in part on the first network switch being less constrained for the network resource than the second network switch; and causing the virtual computing resource to be provisioned on the first server based at least in part on the determination that the first server is most optimized for provisioning the virtual computing resource.