  Cloud computing has rapidly emerged as model for delivering Internet-based
utility computing services. In cloud computing, Infrastructure as a Service
(IaaS) is one of the most important and rapidly growing fields. Cloud providers
provide users/machines resources such as virtual machines, raw (block) storage,
firewalls, load balancers, and network devices in this service model. One of
the most important aspects of cloud computing for IaaS is resource management.
Scalability, quality of service, optimum utility, reduced overheads, increased
throughput, reduced latency, specialised environment, cost effectiveness, and a
streamlined interface are some of the advantages of resource management for
IaaS in cloud computing. Traditionally, resource management has been done
through static policies, which impose certain limitations in various dynamic
scenarios, prompting cloud service providers to adopt data-driven,
machine-learning-based approaches. Machine learning is being used to handle a
variety of resource management tasks, including workload estimation, task
scheduling, VM consolidation, resource optimization, and energy optimization,
among others. This paper provides a detailed review of challenges in ML-based
resource management in current research, as well as current approaches to
resolve these challenges, as well as their advantages and limitations. Finally,
we propose potential future research directions based on identified challenges
and limitations in current research.
