Intelligent container reallocation at Microsoft 365 - Qiao, Bo; Yang, Fangkai; Luo, Chuan; Wang, Yanan; Li, Johnny; 林庆维, Qingwei Lin; Zhang, Hongyu; Datta, Mohit; Zhou, Andrew; Moscibroda, Thomas; Rajmohan, Saravanakumar; Zhang, Dongmei (2021 Foundations of Software Engineering, 2021)
The use of containers in microservices has gained popularity as it facilitates agile development, resource governance, and software maintenance. Container reallocation aims to achieve workload balance via reallocating containers over physical machines. It affects the overall performance of microservice-based systems. However, container scheduling and reallocation remain an open issue due to their complexity in real-world scenarios. In this paper, we propose a novel Multi-Phase Local Search (MPLS) algorithm to optimize container reallocation. The experimental results show that our optimization algorithm outperforms state-of-the-art methods. In practice, it has been successfully applied to Microsoft 365 system to mitigate hotspot machines and balance workloads across the entire system.