ESP Journal of Engineering & Technology Advancements |
© 2023 by ESP JETA |
Volume 3 Issue 4 |
Year of Publication : 2023 |
Authors : Gaurav Shekhar |
![]() |
Gaurav Shekar, 2023. "The Role of Containers and Orchestration in Scalable System Design", ESP Journal of Engineering & Technology Advancements, 3(4): 61-72.
In this paper, we conduct a systematic literature review of present-day orchestration frameworks. This kind of demand has been compulsory and necessary for the sustainable growth of the digital economy in the present and future world markets as the need for scalable, flexible and reliable system design has increased tremendously. This becomes apparent today when organizations have top-level goals of deploying massive applications at scale while maintaining optimal control measures, which are offered by technologies like containers and container orchestration, namely docker and Kubernetes. These technologies allow developers to containerize applications and their dependencies in a lightweight and portable fashion while also providing the orchestration for deployment, scalability and management of applications running in containers. This paper focuses on a general overview of the idea and concept of the containers and possibilities of orchestration for building highly available and scalable systems. It looks at the growing challenges of handling distributed applications and how the orchestration of containers comes in to help with load balancing scale out facility, and fault tolerance. Further, how these tools are included in the scalable system design is discussed with examples from the cloud-native applications such as microservices architectures, including how it solve real-world problems like issues such as traffic and resource management. We start with the evolution of the technology, focusing on its effects on software delivery. Container systems’ key characteristics like isolation capacity, portability issues, and homogenous development and production environment are discussed elaborately. A transition from traditional virtual machines or VMs to containers is described, and why the latter is more efficient in terms of resource usage is explained. From here, the paper moves on to the discussion on the container orchestration platforms; notably, Kubernetes elaborated in the context of the management of clustered containers’ lifecycle. Some of the orchestration capabilities include scaling, self-healing features, and the ability to perform rolling updates. Briefly discuss their advantages, and disadvantages, as well as the applicability of each of them. This article provides a guideline of how containers and orchestration can be scaled in a system by highlighting the proper configuration, monitoring and security measures to consider in the system setup. General findings of several studies and experiments demonstrate the efficiency and reliability enhancement of those technologies. Lastly, the conclusion centres on the importance of containers and orchestration in helping build an architecture that will work effectively for the current and future business systems.
[1] Boettiger, C. (2015). An introduction to Docker for reproducible research. ACM SIGOPS Operating Systems Review, 49(1), 71-79.
[2] Pahl, C. (2015). Containerization and the PaaS cloud. IEEE Cloud Computing, 2(3), 24-31.
[3] Hindman, B., Konwinski, A., Zaharia, M., Ghodsi, A., Joseph, A. D., Katz, R., & Stoica, I. (2011). Mesos: A platform for {Fine-Grained} resource sharing in the data center. In the 8th USENIX Symposium on Networked Systems Design and Implementation (NSDI 11).
[4] Dragoni, N., Giallorenzo, S., Lafuente, A. L., Mazzara, M., Montesi, F., Mustafin, R., & Safina, L. (2017). Microservices: yesterday, today, and tomorrow. Present and ulterior software engineering, 195-216.
[5] Balalaie, A., Heydarnoori, A., & Jamshidi, P. (2016). Microservices architecture enables devops: Migration to a cloud-native architecture. Ieee Software, 33(3), 42-52.
[6] Merkel, D. (2014). Docker: lightweight linux containers for consistent development and deployment. Linux j, 239(2), 2.
[7] Lewis, J., & Fowler, M. (2014). a definition of this new architectural term.
[8] Khan, A. (2017). Key characteristics of a container orchestration platform to enable a modern application. IEEE Cloud Computing, 4(5), 42-48.
[9] Casalicchio, E., & Iannucci, S. (2020). The state‐of‐the‐art in container technologies: Application, orchestration and security. Concurrency and Computation: Practice and Experience, 32(17), e5668.
[10] Böhm, S., & Wirtz, G. (2022). Cloud-edge orchestration for smart cities: A review of Kubernetes-based orchestration architectures. EAI Endorsed Transactions on Smart Cities, 6(18), e2-e2.
[11] Telenyk, S., Sopov, O., Zharikov, E., & Nowakowski, G. (2021, September). A comparison of kubernetes and kubernetes-compatible platforms. In 2021 11th IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications (IDAACS) (Vol. 1, pp. 313-317). IEEE.
[12] Liu, G., Huang, B., Liang, Z., Qin, M., Zhou, H., & Li, Z. (2020, December). Microservices: architecture, container, and challenges. In 2020 IEEE 20th international conference on software quality, reliability and security companion (QRS-C) (pp. 629-635). IEEE.
[13] Sinha, A., Wang, A., & Chandrakasan, A. (2002). Energy scalable system design. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 10(2), 135-145.
[14] Esche, S. K., Chassapis, C., Nazalewicz, J. W., & Hromin, D. J. (2002, November). A scalable system architecture for remote experimentation. In 32nd Annual Frontiers in Education (Vol. 1, pp. T2E-T2E). IEEE.
[15] Afolabi, I., Prados-Garzon, J., Bagaa, M., Taleb, T., & Ameigeiras, P. (2019). Dynamic resource provisioning of a scalable E2E network slicing orchestration system. IEEE Transactions on Mobile Computing, 19(11), 2594-2608.
[16] Basile, D., & ter Beek, M. H. (2023). Research challenges in orchestration synthesis. arXiv preprint arXiv:2308.10651.
[17] Zhong, Z., Xu, M., Rodriguez, M. A., Xu, C., & Buyya, R. (2022). Machine learning-based orchestration of containers: A taxonomy and future directions. ACM Computing Surveys (CSUR), 54(10s), 1-35.
[18] Struhár, V., Craciunas, S. S., Ashjaei, M., Behnam, M., & Papadopoulos, A. V. (2021, September). React: Enabling real-time container orchestration. In 2021 26th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA) (pp. 1-8). IEEE.
[19] Thul, M. J., Gilbert, F., Vogt, T., Kreiselmaier, G., & Wehn, N. (2005). A scalable system architecture for high-throughput turbo-decoders. Journal of VLSI signal processing systems for signal, image and video technology, 39, 63-77.
[20] Sahhaf, S., Tavernier, W., Czentye, J., Sonkoly, B., Sköldström, P., Jocha, D., & Garay, J. (2015, September). Scalable architecture for service function chain orchestration. In 2015 Fourth European Workshop on Software Defined Networks (pp. 19-24). IEEE.
Containerization, Orchestration, Kubernetes, Docker, Scalable System Design, Microservices Architecture, Fault Tolerance.