  Given the complexity and heterogeneity in Cloud computing scenarios, the
modeling approach has widely been employed to investigate and analyze the
energy consumption of Cloud applications, by abstracting real-world objects and
processes that are difficult to observe or understand directly. It is clear
that the abstraction sacrifices, and usually does not need, the complete
reflection of the reality to be modeled. Consequently, current energy
consumption models vary in terms of purposes, assumptions, application
characteristics and environmental conditions, with possible overlaps between
different research works. Therefore, it would be necessary and valuable to
reveal the state-of-the-art of the existing modeling efforts, so as to weave
different models together to facilitate comprehending and further investigating
application energy consumption in the Cloud domain. By systematically
selecting, assessing and synthesizing 76 relevant studies, we rationalized and
organized over 30 energy consumption models with unified notations. To help
investigate the existing models and facilitate future modeling work, we
deconstructed the runtime execution and deployment environment of Cloud
applications, and identified 18 environmental factors and 12 workload factors
that would be influential on the energy consumption. In particular, there are
complicated trade-offs and even debates when dealing with the combinational
impacts of multiple factors.
