1. A method comprising: defining, in a memory storage device, a profile corresponding to a deployment architecture, the profile defined according to a meta-model, the meta-model comprising: a service object representing a software service, and one or more resource objects representing: hardware resources consumed by the service, and inter-relationships between the service and the hardware resources; generating, using one or more processors, a topology based on the profile, the topology including one or more hardware resources to perform a task; and deploying the service based on the topology.