1. A method comprising: receiving an application descriptor of a composite application by a processing device, the application descriptor comprising information for a plurality of nodes that comprise application components in the composite application; determining, by the processing device, hardware criteria for the plurality of nodes based on the application descriptor; searching, by the processing device, a pool of available hardware resources to identify a plurality of hardware resources that satisfy the determined hardware criteria; allocating the identified plurality of hardware resources for the plurality of nodes; and provisioning the application components on the identified plurality of hardware resources to cause the plurality of hardware resources to have states that correspond to the information for the plurality of nodes.