1. An automated method operable on a computing platform for deploying software updates in a distributed system of computing devices, the method comprising the steps of: capturing a current state of the distributed system by retrieving data that is indicative of values of one or more attributes associated with the distributed system; comparing the current state of the distributed system against a target state of the distributed system to generate a difference, the target state being defined by manifest that specifies desired values for the one or more attributes; and generating a set of actions, responsively to the difference, which transform the distributed system from the current state to the target state when performed.