1. A computer implemented method in a data processing system for a software deployment, the method comprising: selecting a topology pattern from a plurality of topology patterns to form a selected topology pattern, wherein the selected topology pattern describes an arrangement of software and hardware devices, and wherein the selection of the selected topology pattern is made through a user interface; receiving augments to the selected topology pattern to form an augmented topology pattern, wherein the augments are selected by a user, and wherein the selected topology pattern represents a set of component diagrams wherein nodes represent physical machines in the selected topology pattern, and wherein the set of component diagrams represent at least one of an individual software component, application, application server, database server, and container; transforming the augmented topology pattern into a set of deployable scripts, wherein the set of deployable scripts is used for the software deployment; scheduling the set of deployable scripts for deployment; deploying the set of deployable scripts to a targeted device; determining, based on the set of deployable scripts, whether additional augments are to be performed on the augmented topology pattern; responsive to determining that additional arguments are to be performed on the augmented topology pattern, accepting the additional augments made to the augmented topology pattern to form a second augmented topology pattern; transforming the second augmented topology pattern into the set of deployable scripts; and transforming deployment metadata into a reverse engineered topology pattern, wherein the deployment metadata is retrieved from a deployment node, wherein the deployment metadata is stored in the deployment node data structure, and wherein the reverse engineered topology pattern is stored in a pattern data structure as a new topology pattern.