A Unified Gitops–Service Mesh Architecture With Queueing-Theory Autoscaling For Resilient Microservices
DOI:
https://doi.org/10.29284/az3e1308Keywords:
Microservices Architecture; Kubernetes; GitOps; Argo CD; Service Mesh; Istio; Autoscaling; Queueing Theory; M/M/m Model; Cloud-Native Computing; Continuous Deployment; CI/CD Pipelines; DevOps; Observability; Prometheus; Grafana; Container Orchestration; Distributed Systems; Scalability; Resilient Systems; Performance Optimization; Tail Latency Reduction; Service-Level Objectives (SLO); Infrastructure Cost Optimization; Declarative Configuration; Traffic Management; Canary Deployment; Blue-Green Deployment; Cloud Infrastructure; Enterprise Microservices.Abstract
Microservices designs better fulfill requirements in modularity and deployment agility but come with operational challenges in large-scale scale including poor observability, configuration drift, and Ineffective autoscaling. The proposed research suggests implementing a single deployment paradigm based on GitOps-based continuous delivery, a service-mesh-based observability infrastructure, and a queueing theory-based autoscaling system to resolve these challenges. In Amazon Elastic Kubernetes Service (EKS), Kubernetes, Argo Cd, Istio, and Prometheus are used as the architecture to allow a declarative and version-controlled deployment and uniform telemetry between services. The autoscaling controller is a M/M/m queueing model based measurement system to dynamically optimize the number of replicas depending on the workload intensity while also guaranteeing specified service levels. Demonstration of experimental validation on a large scale retail workload with over 150 microservices showing considerable performances and cost effectiveness. The 95 th percentile latency was reduced in the proposed approach by 475 ms to about 300 ms and saves the infrastructure cost of approximately 28 percent of node-hours on a baseline Kubernetes Horizontal Pod Autoscaler setup. Gitops also has a high degree of configuration assurance with fast rollback in case of the failure, enhancing the reliability of deployments and resilience to operations. These results suggest that the scalable and reproducible model of dealing with microservices in the enterprise scale is achieved once declarative pipelines are combined with intelligent autoscaling as well as service-mesh observability.
References
1. N. Dragoni et al., “Microservices: Yesterday, today, and tomorrow,” in Present and Ulterior Software Engineering, M. Mazzara and B. Meyer, Eds., Cham, Switzerland: Springer, 2017, pp. 195–216. [Online]. Available: https://doi.org/10.1007/978-3-319-67425-4_12
2. M. Kalske, N. Mäkitalo, and T. Mikkonen, “Challenges when moving from monolith to microservice architecture,” in Proc. Int. Conf. Web Eng., I. Garrigós and M. Wimmer, Eds., Cham, Switzerland: Springer, 2018, pp. 32–47. [Online]. Available: https://doi.org/10.1007/978-3-319-74433-9_3
3. N. C. Mendonça, C. Box, C. Manolache, and L. Ryan, “The monolith strikes back: Why Istio migrated from microservices to a monolithic architecture,” IEEE Softw., vol. 38, no. 5, pp. 17–22, Sep./Oct. 2021. [Online]. Available: https://doi.org/10.1109/MS.2021.3080335
4. A. Balalaie, A. Heydarnoori, P. Jamshidi, D. A. Tamburri, and T. Lynn, “Microservices migration patterns,” Softw.: Pract. Experience, vol. 48, no. 11, pp. 2019–2042, 2018. [Online]. Available: https://doi.org/10.1002/spe.2608
5. D. Taibi, V. Lenarduzzi, and C. Pahl, “Processes, motivations, and issues for migrating to microservices architectures: An empirical investigation,” IEEE Cloud Comput., vol. 4, no. 5, pp. 22–32, Sep./Oct. 2017. [Online]. Available: https://doi.org/10.1109/MCC.2017.4250931
6. M. Ahmadvand and A. Ibrahim, “Requirements reconciliation for scalable and secure microservice (de)composition,” in Proc. IEEE 24th Int. Requirements Eng. Conf. Workshops, Los Alamitos, CA, USA, 2016, pp. 68–73. [Online]. Available: https://doi.ieeecomputersociety.org/10.1109/REW.2016.026
7. F. Auer, V. Lenarduzzi, M. Felderer, and D. Taibi, “From monolithic systems to microservices: An assessment framework,” Inf. Softw. Technol., vol. 137, 2021, Art. no. 106600. [Online]. Available: https://doi.org/10.1016/j.infsof.2021.106600
8. P. Clarke, R. V. O’Connor, and B. Leavy, “A complexity theory viewpoint on the software development process and situational context,” in Proc. Int. Conf. Softw. Syst. Process, New York, NY, USA, 2016, pp. 86–90. [Online]. Available: https://doi.org/10.1145/2904354.2904369
9. O. Zimmermann, “Microservices tenets,” Comput. Sci. Res. Develop., vol. 32, no. 3, pp. 301–310, Jul. 2017. [Online]. Available: https://doi.org/10.1007/s00450-016-0337-0
10. S. Newman, Building Microservices, 1st ed. Sebastopol, CA, USA: O’Reilly Media, Inc., 2015.
11. D. Wolfart et al., “Modernizing legacy systems with microservices: A roadmap,” in Proc. Int. Conf. Eval. Assessment Softw. Eng., New York, NY, USA, 2021, pp. 149–159. [Online]. Available: https://doi.org/10.1145/3463274.3463334
12. T. Smith, “New research shows 63% of enterprises are adopting microservices architectures,” Sep. 2018. Accessed: Feb. 01, 2021. [Online]. Available: https://dzone.com/articles/new-research-shows-63-percentof-enterprises-are-a
13. S. W. Schütz, T. Kude, and K. M. Popp, “The impact of software-as-a-service on software ecosystems,” in Proc. Int. Conf. Softw. Bus., G. Herzwurm and T. Margaria, Eds., Berlin, Germany: Springer, 2013, pp. 130–140.
14. J. Grogan et al., “A multivocal literature review of function-as-a-service (FaaS) infrastructures and implications for software developers,” in Systems, Software and Services Process Improvement, M. Yilmaz, J. Niemann, P. Clarke, and R. Messnarz, Eds., Cham, Switzerland: Springer, 2020, pp. 58–75. [Online]. Available: https://doi.org/10.1007/978-3-030-56441-4_5
15. M. Villamizar et al., “Cost comparison of running web applications in the cloud using monolithic, microservice, and AWS Lambda architectures,” Serv. Oriented Comput. Appl., vol. 11, no. 2, pp. 233–247, Jun. 2017. [Online]. Available: https://doi.org/10.1007/s11761-017-0208-y
16. M. Loukides and S. Swoyer, “Microservices adoption in 2020,” Jul. 2020. Accessed: Sep. 10, 2021. [Online]. Available: https://www.oreilly.com/radar/microservices-adoption-in-2020/
17. IBM Corporation, “Microservices in the enterprise, 2021: Real benefits, worth the challenges,” Mar. 2021. Accessed: Sep. 10, 2021. [Online]. Available: https://www.ibm.com/downloads/cas/OQG4AJAM
18. M. Daoud, A. El Mezouari, N. Faci, D. Benslimane, Z. Maamar, and A. El Fazziki, “A multi-model based microservices identification approach,” J. Syst. Architecture, vol. 118, 2021, Art. no. 102200. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S1383762121001442
19. S. Li et al., “A dataflow-driven approach to identifying microservices from monolithic applications,” J. Syst. Softw., vol. 157, 2019, Art. no. 110380. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S0164121219301475
20. R. Chen, S. Li, and Z. Li, “From monolith to microservices: A dataflow-driven approach,” in Proc. IEEE 24th Asia-Pacific Softw. Eng. Conf., Nanjing, 2017, pp. 466–475. [Online]. Available: https://doi.org/10.1109/APSEC.2017.53
21. I. Saidani, A. Ouni, M. W. Mkaouer, and A. Saied, “Towards automated microservices extraction using multi-objective evolutionary search,” in Proc. 17th Int. Conf. Serv.-Oriented Comput., S. Yangui, I. Bouassida Rodriguez, K. Drira, and Z. Tari, Eds., Cham, Switzerland: Springer, 2019, pp. 58–63. [Online]. Available: https://doi.org/10.1007/978-3-030-33702-5_5
22. A. Furda, C. Fidge, O. Zimmermann, W. Kelly, and A. Barros, “Migrating enterprise legacy source code to microservices: On multitenancy, statefulness, and data consistency,” IEEE Softw., vol. 35, no. 3, pp. 63–72, May/Jun. 2018. [Online]. Available: https://doi.org/10.1109/MS.2017.440134612
23. A. Selmadji, A.-D. Seriai, H. L. Bouziane, C. Dony, and R. O. Mahamane, “Re-architecting OO software into microservices,” in Proc. Eur. Conf. Serv.-Oriented Cloud Comput., K. Kritikos, P. Plebani, and F. de Paoli, Eds., Cham, Switzerland: Springer, 2018, pp. 65–73. [Online]. Available: https://doi.org/10.1007/978-3-319-99819-0_5
24. M. Gysel, L. Kölbener, W. Giersche, and O. Zimmermann, “Service cutter: A systematic approach to service decomposition,” in Proc. Eur. Conf. Serv.-Oriented Cloud Comput., M. Aiello, E. B. Johnsen, S. Dustdar, and I. Georgievski, Eds., Cham, Switzerland: Springer, 2016, pp. 185–200. [Online]. Available: https://doi.org/10.1007/978-3-319-44482-6_12
25. W. Jin, T. Liu, Y. Cai, R. Kazman, R. Mo, and Q. Zheng, “Service candidate identification from monolithic systems based on execution traces,” IEEE Trans. Softw. Eng., vol. 47, no. 5, pp. 987–1007, May 2021. [Online]. Available: https://doi.org/10.1109/TSE.2019.2910531
26. S. Eski and F. Buzluca, “An automatic extraction approach: Transition to microservices architecture from monolithic application,” in Proc. 19th Int. Conf. Agile Softw. Develop.: Companion, New York, NY, USA, 2018, Art. no. 25. [Online]. Available: https://doi.org/10.1145/3234152.3234195
27. A. A. C. De Alwis, A. Barros, A. Polyvyanyy, and C. Fidge, “Function-splitting heuristics for discovery of microservices in enterprise systems,” in Service-Oriented Computing, C. Pahl, M. Vukovic, J. Yin, and Q. Yu, Eds., Cham, Switzerland: Springer, 2018, pp. 37–53. [Online]. Available: https://doi.org/10.1007/978-3-030-03596-9_3
28. B. Kitchenham, O. P. Brereton, D. Budgen, M. Turner, J. Bailey, and S. Linkman, “Systematic literature reviews in software engineering – A systematic literature review,” Inf. Softw. Technol., vol. 51, no. 1, pp. 7–15, 2009. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0950584908001390
29. P. Brereton, B. A. Kitchenham, D. Budgen, M. Turner, and M. Khalil, “Lessons from applying the systematic literature review process within the software engineering domain,” J. Syst. Softw., vol. 80, no. 4, pp. 571–583, 2007. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S016412120600197X
30. B. Kitchenham, “Procedures for performing systematic reviews,” Keele Univ., Keele, U.K., vol. 33, pp. 1–26, 2004. [Online]. Available: https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=29890a936639862f45cb9a987dd599dce9759bf5
31. H. S. da Silva, G. Carneiro, and M. Monteiro, “Towards a roadmap for the migration of legacy software systems to a microservice based architecture,” in Proc. 9th Int. Conf. Cloud Comput. Serv. Sci., SciTePress, 2019, pp. 37–47. [Online]. Available: https://doi.org/10.5220/0007618400370047
32. V. Velepucha and P. Flores, “Monoliths to microservices - migration problems and challenges: A SMS,” in Proc. IEEE 2nd Int. Conf. Inf. Syst. Softw. Technol., 2021, pp. 135–142. [Online]. Available: https://doi.org/10.1109/ICI2ST51859.2021.00027
33. F. Ponce, G. Márquez, and H. Astudillo, “Migrating from monolithic architecture to microservices: A rapid review,” in Proc. IEEE 38th Int. Conf. Chilean Comput. Sci. Soc., Concepción, Chile, 2019, pp. 1–7. [Online]. Available: https://doi.org/10.1109/SCCC49216.2019.8966423
34. J. Ghofrani and D. Lübke, “Challenges of microservices architecture: A survey on the state of the practice,” in Proc. 10th Central Eur. Workshop Serv. Comp., CEUR-WS.org, 2018, pp. 1–8. [Online]. Available: http://ceur-ws.org/Vol-2072/paper1.pdf
35. M. F. Gholami, F. Daneshgar, G. Low, and G. Beydoun, “Cloud migration process—A survey, evaluation framework, and open challenges,” J. Syst. Softw., vol. 120, pp. 31–69, 2016. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0164121216300966
36. R. Lichtenthaeler, M. Prechtl, C. Schwille, T. Schwartz, P. Cezanne, and G. Wirtz, “Requirements for a model-driven cloud-native migration of monolithic web-based applications,” SICS Softw.-Intensive Cyber-Phys. Syst., vol. 35, pp. 89–100, Aug. 2020. [Online]. Available: https://doi.org/10.1007/s00450-019-00414-9
37. L. Carvalho, A. Garcia, W. K. G. Assunção, R. Bonifácio, L. P. Tizzei, and T. E. Colanzi, “Extraction of configurable and reusable microservices from legacy systems: An exploratory study,” in Proc. 23rd Int. Syst. Softw. Product Line Conf., New York, NY, USA, 2019, pp. 26–31. [Online]. Available: https://doi.org/10.1145/3336294.3336319
38. P. Mahanta and S. Chouta, “Translating a legacy stack to microservices using a modernization facade with performance optimization for container deployments,” in Proc. OTM Confederated Int. Conf. “On the Move to Meaningful Internet Systems”, Springer, 2020, pp. 143–154. [Online]. Available: https://doi.org/10.1007/978-3-030-40907-4_14
39. P. Jamshidi, C. Pahl, and N. C. Mendonça, “Pattern-based multi-cloud architecture migration,” Softw.: Pract. Experience, vol. 47, no. 9, pp. 1159–1184, 2017. [Online]. Available: https://onlinelibrary.wiley.com/doi/abs/10.1002/spe.2442
40. M. Abdellatif et al., “A taxonomy of service identification approaches for legacy software systems modernization,” J. Syst. Softw., vol. 173, 2021, Art. no. 110868. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0164121220302582
41. V. Bushong et al., “On microservice analysis and architecture evolution: A systematic mapping study,” Appl. Sci., vol. 11, no. 17, 2021, Art. no. 7856. [Online]. Available: https://www.mdpi.com/2076-3417/11/17/7856
42. H. C. D. S. Filho and G. D. F. Carneiro, “Strategies reported in the literature to migrate to microservices based architecture,” in Proc. 16th Int. Conf. Inf. Technol.-New Gener., Springer, 2019, pp. 575–580. [Online]. Available: https://doi.org/10.1007/978-3-030-14070-0_81
43. M. Garriga, “Towards a taxonomy of microservices architectures,” in Software Engineering and Formal Methods, Springer, 2018, pp. 203–218. [Online]. Available: https://doi.org/10.1007/978-3-319-74781-1_15
44. J. Fritzsch, J. Bogner, A. Zimmermann, and S. Wagner, “From monolith to microservices: A classification of refactoring approaches,” in Workshop Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment, Springer, 2019, pp. 128–141. [Online]. Available: https://doi.org/10.1007/978-3-030-06019-0_10
45. Nortal, “Are monolithic software applications doomed for extinction?,” 2017. Accessed: Jan. 10, 2023. [Online]. Available: https://nortal.com/blog/are-monolithic-software-applications-doomed-for-extinction
46. F. Despoudis, “Understanding SOLID principles: Single responsibility,” 2017. Accessed: Oct. 10, 2020. [Online]. Available: https://codeburst.io/understanding-solid-principles-single-responsibility-b7c7ec0bf80
47. M. Fowler and J. Lewis, “Microservices,” 2014. Accessed: Oct. 10, 2020. [Online]. Available: http://martinfowler.com/articles/microservices.html
48. R. C. Martin, Agile Software Development: Principles, Patterns, and Practices. Englewood Cliffs, NJ, USA: Prentice Hall, 2002.
49. P. Di Francesco, P. Lago, and I. Malavolta, “Migrating towards microservice architectures: An industrial survey,” in Proc. IEEE Int. Conf. Softw. Architecture, Seattle, WA, USA, 2018, pp. 29–2909. [Online]. Available: https://doi.org/10.1109/ICSA.2018.00012
50. C. Tozzi, “6 reasons not to adopt microservices,” Jan. 2018. Accessed: Feb. 17, 2021. [Online]. Available: https://containerjournal.com/features/microservices-use-not-use-question/
Downloads
Published
Issue
Section
License

This work is licensed under a Creative Commons Attribution 4.0 International License.
This work is licensed under a Creative Commons Attribution 4.0 International License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

