  Cloud computing is an increasingly popular computing paradigm, now proving a
necessity for utility computing services. Each provider offers a unique service
portfolio with a range of resource configurations. Resource provisioning for
cloud services in a comprehensive way is crucial to any resource allocation
model. Any model should consider both computational resources and network
resources to accurately represent and serve practical needs. Another aspect
that should be considered while provisioning resources is energy consumption.
This aspect is getting more attention from industry and governments parties.
Calls of support for the green clouds are gaining momentum. With that in mind,
resource allocation algorithms aim to accomplish the task of scheduling virtual
machines on data center servers and then scheduling connection requests on the
network paths available while complying with the problem constraints. Several
external and internal factors that affect the performance of resource
allocation models are introduced in this paper. These factors are discussed in
detail and research gaps are pointed out. Design challenges are discussed with
the aim of providing a reference to be used when designing a comprehensive
energy aware resource allocation model for cloud computing data centers.
