1. A method comprising: receiving, by a processing device, a request to launch a deployment of a virtual machine; identifying, by the processing device, a pool of cloud providers; determining, by the processing device, a set of cloud providers in the pool that satisfy one or more minimum requirements for the deployment; identifying, by the processing device, a selection policy for the deployment of the virtual machine, the selection policy comprising one or more priority ranking criteria and one or more probability ranking criteria; generating, by the processing device, a probability distribution in view of the one or more probability ranking criteria; generating, by the processing device, a value in accordance with the probability distribution; selecting, by the processing device, a cloud provider corresponding to the generated value in view of the one or more priority ranking criteria; and deploying the virtual machine in a cloud computing system of the selected cloud provider.