1. A computer implemented method for managing a distributed software application, the computer implemented method comprising: identifying metadata describing a set of dependencies of a set of software components in the distributed software application from data associated with the set of software components; identifying a sequence for changing an operational state of the set of software components of the distributed software application from the metadata to form an identified sequence; and changing the operational state of the set of software components using the identified sequence.