1. A non-transitory machine readable medium for storing a program which when executed by at least one processing unit orchestrates an instantiation of a system solution on a plurality of clouds, the program comprising sets of instructions for: receiving a request from a user for the system solution; generating a blueprint, the blueprint comprising a plurality of steps for instantiating the system solution on the plurality of clouds, the blueprint further comprising a connection schema associated with the plurality of clouds, the connection schema defining connections and interactions to be made between the plurality of clouds; for each step of the plurality of steps, executing the step on at least one of the plurality of clouds, wherein executing at least one step comprises converging a first cloud of the plurality of clouds and a second cloud of the plurality of clouds such that at least one first component of the first cloud is configured to directly communicate with at least one second component of the second cloud, and wherein the converging is determined based at least in part on the connection schema; and providing the user with access to the system solution.