CPC G06F 9/44505 (2013.01) [G06F 8/60 (2013.01); G06F 9/4856 (2013.01); G06F 11/3006 (2013.01); H04L 67/34 (2013.01)] | 17 Claims |
1. A system comprising:
a processor; and
a memory comprising instructions that are executable by the processor for causing the processor to perform operations, wherein the operations are for migrating one or more software components from a source computing environment to a target computing environment, and wherein the operations include:
receiving a plurality of software identification modules from an online repository, the plurality of software identification modules being generated by developers independently of the source computing environment and uploaded to the online repository by the developers, the plurality of software identification modules defining a plurality of software fingerprints for detecting a plurality of software components in the source computing environment, each software identification module among the plurality of software identification modules including a respective software fingerprint that includes a respective list of computing resources that are separate from and indicative of a respective software component of the plurality of software components, the respective software fingerprint being configured for detecting a respective software component among the plurality of software components in the source computing environment;
determining that the source computing environment includes the one or more software components from among the plurality of software components by analyzing the source computing environment using each respective software fingerprint among the plurality of software fingerprints, wherein determining that the source computing environment includes the one or more software components involves:
for each respective software component among the one or more software components:
generating a respective score for the respective software component based on one or more commonalities between (i) the source computing environment and (ii) the respective software fingerprint corresponding to the respective software component; and
determining that the source computing environment includes the respective software component based on the respective score; and
deploying the one or more software components in the target computing environment, the target computing environment being separate from the source computing environment.
|