1. A service manager for operation in a distributed computing system, the distributed computing system for receiving workloads from one or more client applications and executing those workloads on one or more service instances running on one or more service hosts within the distributed computing system, wherein the distributed computing system dynamically assigns the service hosts and initiates the service instances on the service hosts according to the service needs and the availability of such service hosts and service instances, the service manager comprising: a) a workload input interface for receiving workloads for execution on the distributed computing system, the workload input operable to communicate directly or indirectly with the one ore more client applications to receive the workloads; b) a resource management interface operable to communicate directly or indirectly with resources within the distributed computing system, whereby the service manager is able to know the assignment of the service hosts or service instances for computing the received workloads by the distributed computing system; c) a workload output interface for outputting workloads for execution on assigned service instances within the distributed computing system, the workload output operable to communicate directly or indirectly with the one or more service instances to send the workloads for execution thereon; d) wherein at least one of the workload input interface, the resource management interface, and the workload output interface is a binary communications interface whereby the service manager is operable to communicate with other elements of the distributed computing system that are indirectly or indirectly connected through that at least one interface using a binary communications protocol.