1. A method performed by a cloud controller for establishing a component of an application within a cloud, the method comprising: receiving, from a requesting device, a request to establish the component by the cloud controller: identifying by the cloud controller a policy the associated with the application, wherein the policy the defines at least one segment for the application within the cloud and defines at least one constraint for a first segment of the at least one segment, wherein a segment is a grouping of components available for the application within the cloud: selecting the first segment for establishment of the component by the cloud controller; selecting a location for establishment of the component by the cloud controller, wherein the location is selected to be consistent with the at least one constraint; establishing the component at the selected location; receiving, from the requesting device, a request to establish an additional component for the application; selecting a second segment of the at least one segment for establishment of the additional component; and selecting a location for establishment of the additional component within the second segment; and establishing the additional component at the selected location, wherein selecting the second segment comprises selecting the second segment for establishment of the additional component based on the policy file definition of the at least one segment and system-state information reflecting the establishment of the component within the first segment.