Optimizing Container Scheduling: A comprehensive survey in Cloud Computing Environments focus on resource utilization
Main Article Content
Abstract
Container-based virtualization has emerged as a key enabler of modern cloud computing, offering improved portability, scalability, and resource efficiency. Containers have become the standard unit of deployment in cloud-native environments, leading to widespread adoption of orchestration platforms such as Docker Swarm and Kubernetes. A central challenge in these environments is the efficient placement of containers across a set of heterogeneous nodes while meeting performance, scalability, and availability requirements. Early placement strategies relied heavily on simplistic heuristics, which often ignored vital resource constraints such as CPU and memory. As application workloads diversified, it became evident that multi-resource-aware scheduling, specifically considering both CPU and memory utilization, is critical to maintaining system efficiency and service level agreements (SLAs). This paper presents a comprehensive survey of container placement strategies, focusing on their ability to manage CPU and memory resources effectively. We classify these strategies into heuristic, optimization-based, and learning-based approaches, discussing their core methodologies, strengths, and limitations. Additionally, we explore hybrid techniques, energy-efficient models, and real-time decision-making frameworks that further enhance placement performance. We provide an extensive comparative analysis of existing works across various dimensions including scalability, execution time, adaptability, and overhead. Finally, we propose a future research roadmap that includes integration with network and storage considerations, reinforcement learning, predictive analytics, and cross-platform orchestration. This paper serves as a foundation for researchers and practitioners aiming to design robust, adaptive, and efficient container placement strategies in the evolving cloud landscape.