Recent telecommunication paradigms, such as big data, Internet of Things (IoT), and machine learning, are encountering with a tremendous number of complex applications that requiring different priorities and resource demands. These applications usually consist of a set of Virtual Machines (VMs) with some predefined traffic load between them. The efficiency of a Cloud Data Center (CDC) significantly depends on the efficiency of its VM placement algorithm applied. However, VM placement is an NP-hard problem and thus there exist practically no optimal solution, particularly for large-scale CDCs. In this research, motivated by this, we propose a priority and traffic-aware algorithm for efficiently solving the VM placement problem. Our algorithm aims to jointly minimize power consumption, resource wastage and the consumption of network resources in a large-scale, heterogeneous CDC. To validate the effectiveness of our algorithm, we have conducted extensive experiments and verify that the proposed approach achieves better performance compared to the state-of-the-art.