Patent ID: 8458690

Claim:
An automated method for deploying changes to a distributed server system, comprising: capturing, by a rule-based engine of an administration device for the distributed server system, a current state of the distributed server system by retrieving a first snapshot that is indicative of values of one or more attributes associated with computing devices in the distributed server system including at least one of files, databases, registry entries, permissions, databases, active directories, or services, wherein the distributed server system includes multiple non-homogeneous server computing devices with at least two of the non-homogeneous server computing devices adapted to provide redundancy for each other; comparing, by the rule-based engine, the current state of the distributed server system against a target state of the distributed server system to generate a difference, the target state being defined by a manifest that describes a collection of attributes, the collection of attributes including values for at least one of files, databases, registry entries, permissions, databases, active directories, or services, that specifies target values for the one or more attributes of the collection of attributes that are pertinent to the at least two computing devices of the distributed server system, wherein the manifest was previously generated from data automatically captured from a software test environment, and wherein the manifest is organized by server roles of the at least two computing devices and is logically grouped according to required components needed to perform specific functions of the server roles; generating, by the rule-based engine, a set of atomic actions using rules retrieved from a rules database, such that upon deployment the generated atomic actions are either all successfully executed to transform the distributed server system from the current state to the target state or, if any of the actions are not successfully executed, leave the distributed system in the current state such that the distributed server system is not transformed to an intermediate state that is between the current state and the target state; automatically deploying the set of actions to the at least two computing devices of the distributed server system; capturing, by the rule-based engine, a post-deployment state of the distributed server system including a second snapshot indicative of post-deployment values of one or more attributes of the distributed server system on which the set of actions have been deployed; and comparing the post-deployment state of the distributed server system against the target state of the distributed server system to verify, based on a lack of difference between the first snapshot and the second snapshot, that the post-deployment state is the same as the target state and that the at least two computing devices of the distributed server system have been transformed to the target state in accordance to the server roles in the manifest.