||The emergence of distributed clouds opens up new research challenges for service deployment. Composite services consist of multiple components, potentially located in different geographical locations, which need to be interconnected and invoked in the correct order according to the overall service work-flow. The placement of composite services over distributed cloud node locations raises new challenges for efficient deployment and management. In this paper, we design exact models of the composite service placement problems using Mixed Integer Linear Program (MILP), and compare these to solutions based on genetic algorithms. We use a utility function, based initially on latency metrics, to evaluate the quality of service (QoS) of the deployed composite service. By maximizing the utility with respect to deployment cost, our approach can provide good QoS for users while satisfying budget constraints for service providers. Based on simulations using real data-center locations and traffic demand patterns, we show that our algorithms are scalable under a range of scenarios.