Nowadays, fog computing as a complementary facility of cloud computing has attracted great attentions in research communities because it has extraordinary potential to provide resources and processing services requested for applications at the edge network near to users. Recent researchers focus on how efficiently engage edge networks capabilities for execution and supporting of IoT applications and associated requirement. However, inefficient deployment of applications’ components on fog computing infrastructure results bandwidth and resource wastage, maximum power consumption, and unpleasant quality of service (QoS) level. This paper considers reduction of bandwidth wastage in regards to application components dependency in their distributed deployment. On the other hand, the service reliability is declined if an application’s components are deployed on a single node for the sake of power consumption management viewpoint. Therefore, a mechanism for tackling single point of failure and application reliability enhancement against failure are presented. Then, the components deployment is formulated to a multi-objective optimization problem with minimization perspective of both power consumption and total latency between each pair of components associated to applications. To solve this combinatorial optimization problem, a multi-objective cuckoo search algorithm (MOCSA) is presented. To validate the work, this algorithm is assessed in different conditions against some state-of the arts. The simulation results prove the amount 42%, 29%, 46%, 13%, and 5% improvement of proposed MOCSA in terms of average overall latency respectively against MOGWO, MOGWO-I, MOPSO, MOBA, and NSGA-II algorithms. Also, in term of average total power consumption the improvement is about 43%, 28%, 41%, 30%, and 32% respectively.