Abstract-In the context of cloud systems, mapping application components to a set of physical servers and assigning resources to those components is challenging. For large-scale clouds, traditional resource allocation systems, which rely on a centralized management paradigm, become ineffective and inefficient. Therefore, there is an essential need of providing new management solutions that scale well with the size of large cloud systems. In this paper a distributed and hierarchical component placement algorithm is presented, evaluated and compared to a centralized algorithm. Each application is represented as a collection of interacting services, and multiple service types with differing placement characteristics are considered. Our evaluations show that the proposed algorithm is at least 84.65 times faster and offers better scalability compared with a central approach, while the percentage of servers used and fully placed applications remains close to that of the centralized algorithm.