1. A method comprising: building a database of available computing solution aspects, each of which characterizes available computing solutions, said computing solution aspects comprising target image sizes; characterizing one or more workloads to be migrated according to one or more workload factors, said workload factors comprising hardware compatibility factors, operating system compatibility factors, and monetary factors; comparing the workload factors to the available computing solution aspects in the database, using a processor in a rule-based system, to exclude incompatible computing solutions that cannot satisfy the workload factors and to create a filtered set of computing solutions; wherein the comparing step further includes: comparing source images of the one or more workloads to one or more target images of the available computing solutions to determine whether operating systems of the source images and operating systems of the one or more target images match, whether software on the operating systems of the source images is capable of running on the operating systems of the one or more target images, and whether there is room in the one or more target images for the one or more workloads to grow; if the operating systems of the source images and the operating systems of the one or more target images do not match, determining whether the software on the operating systems of the source images is capable of running on the operating systems of the one or more target images by determining the software on the operating systems of the source images has ability to be upgraded or migrated to any of the operating systems of the one or more target images, and determining costs associated with such upgrades or migrations; and selecting a computing solution for the one or more workloads to migrate to, based on the costs, having aspects that accommodate all of the workload factors, from the filtered set of computing solutions that accommodates the one or more individual workloads, wherein all of the one or more workloads' source images fit within a target image of the selected computing solution with room for the one or more workloads to grow.