Patent ID: 8799893

Claim:
A method comprising the steps of: discovering environment-dependent configurations of a configuration model for an existing software solution that is distributed over a plurality of existing virtual machines, said environment-dependent configurations comprising a plurality of configuration items pertaining to at least one of security and performance, said plurality of configuration items in turn comprising a plurality of independent attributes and a plurality of dependent attributes, wherein said independent attributes are attributes of element types in the configuration model and said dependent attributes are attributes of element types in the configuration model having values derived from values of another attribute in the configuration model, and said plurality of dependent attributes being derivable from said plurality of independent attributes based on a plurality of constraints; storing said environment-dependent configurations in a repository, together with disk images of the virtual machines, resource configuration details, and logical names of pertinent ones of said existing machines; obtaining specifications of new values of said independent attributes for the environment-dependent configurations according to a software solution for a separate network environment of virtual machines; computing new values of said dependent attributes from said new values of said independent attributes, based on executing said constraints on said configuration model; and re-deploying the configuration model in the separate network environment of virtual machines to provide the software solution for the separate network environment by: provisioning said images; providing an entity performing said re-deployment an opportunity to modify one or more of said independent attributes from a collection comprising (i) internet protocol addresses, (ii) ports, (iii) usernames, and (iv) passwords; deriving the remaining configurations of the configuration model from the repository by executing meta-model level constraints on the configuration model; and updating the virtual machines in the separate network environment with the new configuration model.