Abstract
Microservices has become a buzzword in industry as many large IT giants such as Amazon, Twitter, Uber, etc have started migrating their existing applications to this new style and few of them have started building their new applications with this style. Due to increasing user requirements and the need to add more business functionalities to the existing applications, the web applications designed using the microservices style also face a few performance challenges. Though this style has been successfully adopted in the design of large enterprise applications, still the applications face performance related issues. It is clear from the literature that most of the articles focus only on the backend microservices. To the best of our knowledge, there has been no solution proposed considering micro frontends along with the backend microservices. To improve the performance of the microservices based web applications, in this paper, a new framework for the design of web applications with micro frontends for frontend and microservices in the backend of the application is presented. To assess the proposed framework, an empirical investigation is performed to analyze the performance and it is found that the applications designed with micro frontends with microservices have performed better than the applications with monolithic frontends. Additionally, to predict the performance of microservices based applications, a machine learning model is proposed as machine learning has wide applications in software engineering related activities. The accuracy of the proposed model using different metrics is also presented.
Similar content being viewed by others
References
Lenarduzzi, V., Lomio, F., Saarimaki, N., Taibi, D.: Does migrating a monolithic system to microservices decrease the technical debt? J. Syst. Softw. 169, 110710 (2020)
Kuryazov, D., Jabborov, D., Khujamuratov, B.: Towards decomposing monolithic applications into microservices. In 2020 IEEE 14th International Conference on Application of Information and Communication Technologies (AICT), pp. 1-4. IEEE, (2020)
Bucchiarone, A., Dragoni, N., Dustdar, S., Larsen, S.T., Mazzara, M.: From monolithic to microservices: An experience report from the banking domain. IEEE Softw. 35(3), 50–55 (2018)
Ponce, F., Marquez, G., Astudillo, H.: Migrating from monolithic architecture to microservices: A Rapid Review. In 2019 38th International Conference of the Chilean Computer Science Society (SCCC), pp. 1-7. IEEE, (2019)
Raj, V., Ravichandra, S.: Microservices: A perfect SOA based solution for Enterprise Applications compared to Web Services. In 2018 3rd IEEE International Conference on recent trends in electronics, information & communication technology (RTEICT) pp. 1531-1536. IEEE (2018)
Raj, V., Sadam, R.: Performance and complexity comparison of service oriented architecture and microservices architecture. Int. J. Commun. Netw. Distrib. Syst. 27(1), 100–117 (2021)
Al-Debagy, O., Martinek, P.: A comparative review of microservices and monolithic architectures. In 2018 IEEE 18th International Symposium on Computational Intelligence and Informatics (CINTI), pp. 000149-000154. IEEE, (2018)
Raj, V., Sadam, R.: Evaluation of SOA-based web services and microservices architecture using complexity metrics. SN Comput. Sci. 2, 1–10 (2021)
Raj, V., Ravichandra, S.: A service graph based extraction of microservices from monolith services of service?oriented architecture. Softw. Pract. Exper. 52(7), 1661–1678 (2022)
Taibi, D., Lenarduzzi, V., Pahl, C.: Processes, motivations, and issues for migrating to microservices architectures: An empirical investigation. IEEE Cloud Comput. 4(5), 22–32 (2017)
Abdullah, M., Iqbal, W., Berral, J.L., Polo, J., Carrera, D.: Burst-aware predictive autoscaling for containerized microservices. IEEE Trans. Serv. Comput. 15(3), 1448–1460 (2020)
Zhou, X., Peng, X., Xie, T., Sun, J., Ji, C., Li, Wenhai, Ding, Dan: Delta debugging microservice systems with parallel optimization. IEEE Trans. Serv. Comput. 15(1), 16–29 (2019)
Wei, H., Rodriguez, J.S., Garcia, O.N.T.: Deployment management and topology discovery of microservice applications in the multicloud environment. J. Grid Comput. 19, 1–22 (2021)
Magableh, Basel, Almiani, Muder: A deep recurrent Q network towards self?adapting distributed microservice architecture. Softw. Pract. Exper 50(2), 116–135 (2020). Tomas Fernandez.: MicroFrontends: Microservices for the Frontend
https://semaphoreci.com/blog/microfrontends. Accessed 19-Feb-2023
Peltonen, S., Mezzalira, L., Taibi, D.: Motivations, benefits, and issues for adopting micro-frontends: a multivocal literature review. Inf. Softw. Technol. 136, 106571 (2021)
Prajwal, Y., Parekh, J.V., Shettar, R.: A brief review of micro-frontends. United Int. J. Res. Technol 2, 123–126 (2021)
Joseph, C.T., Chandrasekaran, K.: IntMA: Dynamic Interaction-aware resource allocation for containerized microservices in cloud environments. Journal of Systems Architecture 111, 101785 (2020)
Sampaio, A.R., Rubin, J., Beschastnikh, I., Rosa, N.S.: Improving microservice-based applications with runtime placement adaptation. J. Int. Serv. Appl. 10(1), 1–30 (2019)
ZargarAzad, M., Ashtiani, M.: An auto-scaling approach for microservices in cloud computing environments (2023)
Cortellessa, V., Di Pompeo, D., Eramo, R., Tucci, M.: A model-driven approach for continuous performance engineering in microservice-based systems. J. Syst. Softw. 183, 111084 (2022)
Raj, V., Ravichandra, S.:Enhanced Service Point Approach for Microservices Based Applications Using Machine Learning Techniques. In International Conference on Advanced Informatics for Computing Research pp. 78-90. Cham: Springer International Publishing (2021)
Yang, C., Liu, C., Su, Z.: Research and application of micro frontends. In IOP conference series: materials science and engineering vol. 490, p. 062082. IOP Publishing (2019)
Prajwal, Y., Parekh, J. V., Shettar, R.: A brief review of micro-frontends. United Int. J. Res. Technol., 2(8) (2021)
Al Qassem, L.M., Stouraitis, T., Damiani, E., Elfadel, I.A.: Proactive Random-Forest Autoscaler for Microservice Resource Allocation. IEEE Access 11, 2570–2585 (2023)
Yan, M., Liang, X., Lu, Z., Wu, J., Zhang, W.: HANSEL: Adaptive horizontal scaling of microservices using Bi-LSTM. Appl. Soft Comput. 105, 107216 (2021)
Aydemir, F., Basciftci, F.: Building a Performance Efficient Core Banking System Based on the Microservices Architecture. J. Grid Comput. 20(4), 37 (2022)
Noorabad, R., Charkari, N.M., Nogoorani, S.D.: PoMic: Dynamic Power Management of VM-Microservices in Overcommitted Cloud. J. Grid Comput. 21(1), 12 (2023)
Taibi, D., Spillner, J., Wawruch, K.: Serverless computing-where are we now, and where are we heading? IEEE Softw. 38(1), 25–31 (2020)
Raj, V., Sadam, R.: Patterns for Migration of SOA Based Applications to Microservices Architecture. J. Web Eng. 20(5), 1229–1246 (2021)
Wei, H., Rodriguez, J.S., Garcia, O.N.T.: Deployment management and topology discovery of microservice applications in the multicloud environment. J. Grid Comput. 19, 1–22 (2021)
Li, S., Zhang, H., Jia, Z., Li, Z., Zhang, C., Li, J., Gao, Q., Ge, J., Shan, Z.: A dataflow-driven approach to identifying microservices from monolithic applications. J. Syst. Softw. 157, 110380 (2019)
Brondolin, R., Santambrogio, M.D.: A black-box monitoring approach to measure microservices runtime performance. ACM Trans. Archit. Code Optim. (TACO) 17(4), 1–26 (2020)
Cinque, M., Della Corte, R., Pecchia, A.: Microservices monitoring with event logs and black box execution tracing. IEEE Trans. Serv. Comput. (2019)
Vayghan, L.A., Saied, M.A., Toeroe, M., Khendek, F.: A Kubernetes controller for managing the availability of elastic microservice based stateful applications. J. Syst. Softw. 175, 110924 (2021)
Yan, M., Liang, X., Lu, Z., Wu, J., Zhang, W.: HANSEL: adaptive horizontal scaling of microservices using Bi-LSTM. Appl. Soft Comput. 105, 107216 (2021)
Srirama, S.N., Adhikari, M., Paul, S.: Application deployment using containers with auto-scaling for microservices in cloud environment. J. Netw. Comput. Appl. 160, 102629 (2020)
Wei, H., Rodriguez, J.S., Garcia, O.N.T.: Deployment management and topology discovery of microservice applications in the multicloud environment. J. Grid Comput. 19(1), 1–22 (2021)
Brondolin, R., Santambrogio, M.D.: A black-box monitoring approach to measure microservices runtime performance. ACM Trans. Archit. Code Optim. (TACO) 17(4), 1–26 (2020)
Wang, D., Yang, D., Zhou, H., Wang, Y., Hong, D., Dong, Q., Song, S.: A novel application of educational management information system based on micro frontends. Procedia Comput. Sci. 176, 1567–1576 (2020)
Cully, K.: Performance of Microservices Result Data. (2021) https://dx.doi.org/10.21227/hhf7-8b30
Joseph, C.T., Chandrasekaran, K.: IntMA: Dynamic interaction-aware resource allocation for containerized microservices in cloud environments. J. Syst. Archit. 111, 101785 (2020)
Cortellessa, V., Di Pompeo, D., Eramo, R., Tucci, M.: A model-driven approach for continuous performance engineering in microservice-based systems. J. Syst. Softw. 183, 111084 (2022)
Xu, M., Song, C., Ilager, S., Gill, S.S., Zhao, J., Ye, K., Xu, C.: CoScal: Multifaceted scaling of microservices with reinforcement learning. IEEE Trans. Netw. Serv. Manag. 19(4), 3995–4009 (2022)
Saransig, A., Tapia, F.: Performance analysis of monolithic and micro service architectures?containers technology. In Trends and Applications in Software Engineering: Proceedings of the 7th International Conference on Software Process Improvement (CIMPS 2018) 7 pp. 270-279. (2019) Springer International Publishing
Shabani, I., Meziu, E., Berisha, B., Biba, T.: Design of modern distributed systems based on microservices architecture. Int. J. Adv. Comput. Sci. Appl., 12(2) (2021)
Rahmatulloh, A., Nugraha, F., Gunawan, R., Darmawan, I.: November. Event-Driven Architecture to Improve Performance and Scalability in Microservices-Based Systems. In 2022 International Conference Advancement in Data Science, E-learning and Information Systems (ICADEIS) pp. 01-06. IEEE (2022)
Villamizar, M., Garces, O., Castro, H., Verano, M., Salamanca, L., Casallas, R., Gil, S.: September. Evaluating the monolithic and the microservice architecture pattern to deploy web applications in the cloud. In 2015 10th Computing Colombian Conference (10CCC) pp. 583-590. IEEE (2015)
Salunkhe, P.S.: Microservices vs Monolithic Architecture: Load Testing in AWS on ReactJS Web Application for Performance (Doctoral dissertation, Dublin, National College of Ireland) (2022)
Barczak, A., Barczak, P.M., Toledo, M.:Performance comparison of monolith and microservices based applications
Sarro, F., Petrozziello, A. and Harman, M.: Multi-objective software effort estimation. In Proceedings of the 38th International Conference on Software Engineering pp. 619-630 (2016)
Menzies, T., Yang, Y., Mathew, G., Boehm, B., Hihn, J.: Negative results for software effort estimation. Empir. Softw. Eng. 22, 2658–2683 (2017)
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflicts of interest
The authors do not have any conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Kaushik, N., Kumar, H. & Raj, V. Micro Frontend Based Performance Improvement and Prediction for Microservices Using Machine Learning. J Grid Computing 22, 44 (2024). https://doi.org/10.1007/s10723-024-09760-8
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10723-024-09760-8