There is an increasingly prominent trend in many big data scientific applications to move a substantial portion of or even all of the computing workflow executions to a cloud environment, which calls for an effective and efficient solution to optimize the performance of such workflow applications. We focus on computing workflows of streaming applications, and consider a faulty cloud environment where both nodes and links may fail at a certain probability. We tackle a triobjective optimization problem that reduces the total energy consumption while enforcing a bound on the throughput, and a constraint on the reliability. A layer-based mapping algorithm is proposed to schedule each subtask in the workflow to an appropriate node in the cloud in order to achieve three objectives (energy, throughput, and reliability) in a distributed manner. The proposed scheme automatically recomputes a mapping solution adapting to the network changes after a certain period. The performance superiority of the proposed scheme is illustrated by an extensive set of comparisons with other existing methods.