An application deployment architecture provides the capability to
independently invoke different phases of an operation associated with an
application, thereby progressively deploying the application across a
network of peer nodes and providing fault tolerance. Therefore,
applications are easier to deploy on the network of nodes, the deployment
process is less error prone, and remediation of deployment errors is
simpler than with prior approaches. Tasks constituent to phases of a
deployment process are schedulable rather than completely automated and
outside the control of the administrator, and are schedulable on a subset
of the nodes rather than only on the entire network of nodes.