Container Scheduling: A Taxonomy, Open Issues and Future Directions for Scheduling of Containerized Microservices in Cloud Environments - Anil Prajapati (International Journal of Intelligent Systems and Applications in Engineering, 2024)
Containerization offers lightweight virtualization and modern applications are adopting containers because of their scalability, portability, and flexible deployment, particularly with microservices. In contrast to monolithic architecture, microservice design is a new paradigm that delivers granular and loosely coupled services. With containerization, it is feasible to create a scalable application architecture made up of several microservices. For their production environment, companies like Netflix, Google, Microsoft, and others have been using cloud environments based on containers. We have presented an extensive review of containerization, and microservice architecture in this paper. The study also discusses container orchestration, classification of container scheduling techniques, optimization objectives for scheduling of container-based microservices, and a comparison of different container orchestration platforms. Container scheduling strategies are widely developed using heuristic and meta-heuristic techniques. Designing a resource efficient scheduling technique for containerized microservice is a key challenge due to various factors such as dynamic workload and diverse resource requirements. Machine learning has great potential and machine learning-based techniques have been employed for the optimized scheduling of containerized microservices in recent years. It is possible to implement an intelligent container scheduling approach to forecast performance. Machine learning-based multi-objective container scheduling solutions can be proposed to obtain effective resource usage of cloud environment. We mention areas that still need investigation in the field of container scheduling for containerized microservices.