Virtual machine placement is the process of mapping virtual machines to available physical hosts within a datacenter or on a remote datacenter in a cloud federation. Normally, service owners cannot influence the placement of service components beyond choosing infrastructure provider and deployment zone at that provider. For some services, however, this lack of influence is a hindrance to cloud adoption. For example, services that require specific geographical deployment (due e.g. to legislation), or require fault-tolerance by avoiding co-placement of critical components. The authors present an approach for service owners to influence placement of their service components by explicitly specifying service structure, component relationships, and placement constraints between components.