1. A method comprising: instantiating, by a cloud management computing device that is managing a first cloud, a virtual machine on a computing device of the first cloud according to a request from a user; receiving, by the cloud management computing device, a rule defined by the user, wherein the rule specifies a condition that triggers a migration of the virtual machine; receiving, from the user, a specification of a monitoring agent to monitor the virtual machine; directing the monitoring agent to monitor for the occurrence of the condition; communicating with an independent cloud management computing device that manages a second cloud external to the first cloud to determine: available computing resources in the second cloud; and a configuration management scheme utilized by the independent cloud management computing device to instantiate and communicate with virtual machines on the second cloud; and when the monitoring agent determines that the monitored condition occurred, migrating, by the cloud management computing device, the virtual machine to another computing device of the second cloud based on the available computing resources in the second cloud and per the configuration management scheme utilized by the independent cloud management computing device.