1. A computer implemented method of cloud migration, the method comprising: accessing repository data fragments distributed across one or both of a first cloud and a network; combining the repository data fragments into repository data; discovering first resources of the first cloud, and a dependency between the first resources, and second resources of a second cloud; generating a model of the first cloud based on the discovered first resources of the first cloud and the repository data; discovering second resources of a second cloud; generating a migration map between the first cloud and the second cloud based on the discovered first and second resources and based on the repository data; analyzing the migration map for any errors and to determine the validity of the migration map; recursively modifying the migration map in response to determining that the migration map is invalid or contains an error, wherein the recursive modification comprises a manual input, an additional automated resource discovery, or a combination thereof; and migrating the first resources to the second cloud based on the modified migration map.