1. A computer implemented method, comprising: discovering a plurality of available components that make up a distributed computing system, the plurality of available components comprising available hardware components and available software components that operate on the available hardware components; graphically displaying the plurality of available components and dependencies between the plurality of available components in a map of the distributed computing system; graphically displaying a plurality of undeployed services; receiving, by a processor executing a system manager, a selection of an undeployed service of the plurality of undeployed services; determining a deployment criterion of the selected undeployed service and graphically indicating one or more available components of the plurality of available components that satisfy the deployment criterion; receiving a selection of an available component from the one or more available components that satisfy the deployment criterion; determining, by the processor, without user input, whether the selected undeployed service depends on any additional services that have not been deployed to the selected available component; in response to determining that the selected undeployed service depends on an additional service that has not been deployed to the selected available component, deploying the additional service to the selected available component; and deploying the selected undeployed service to the selected available component.