1. In a distributed computing environment, the distributed computing environment comprising a plurality of nodes, the nodes for running various applications to service clients in the distributed computing environment, a method of configuring a node to service client requests, the method comprising: determining the current a state of a target node, wherein the current state of the target node comprises at least one of an operating system, one or more applications, or configuration setting at the target node; determining a desired state for the target node, wherein the desired state comprises at least one of an operating system, one or more applications, or configuration setting desired for the target node to service a client request; accessing a dependency graph based on the version of an agent running on the target node; supplying the dependency graph to a state machine, the state machine being particular to the target node; and the state machine using the current state of the target node, the desired state and the dependency graph, performing operations to drive the target node toward the desired state.