Advertisement

Migration of Monolithic Applications Towards Microservices Under the Vision of the Information Hiding Principle: A Systematic Mapping Study

  • Victor VelepuchaEmail author
  • Pamela Flores
  • Jenny Torres
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 1066)

Abstract

Organizations throughout time accumulate applications, which, given their old age, are generally designed in monolithic architecture. Given technological advances, enterprise has the necessity to modernize these applications, being the migration from a monolithic architecture towards microservice architecture a good alternative, however according to our research many failed attempts were found. We performed a Systematic Mapping Study in order to obtain studies to show how to migrate or modernize monolithic applications towards microservices based on some principle of Software Engineering. As a result, we found that there are different types of approaches of studies, such as: (a) solution proposals, (b) experience reports, (c) validations research and (d) opinion articles. Between the studies found, there are no studies related to migration process that is based on a Software Engineering principle, nor the Information Hiding Principle. This research indicates that there is a lack of a theoretical foundation with guidelines on how to perform a decomposition of a monolithic application towards microservices. Given this gap, we propose to migrate a monolithic application to microservices following the principles of the Information Hiding Principle.

Keywords

Monolithic Microservice Migrate Migration Modernization Decomposition 

References

  1. 1.
    Villamizar, M., Garcés, O., Ochoa, L., Castro, H., Salamanca, L., Verano, M., Casallas, R., Gil, S., Valencia, C., Zambrano, A., et al.: Cost comparison of running web applications in the cloud using monolithic, microservice, and aws lambda architectures. SOCA 11(2), 233–247 (2017)CrossRefGoogle Scholar
  2. 2.
    Furda, A., Fidge, C., Zimmermann, O., Kelly, W., Barros, A.: Migrating enterprise legacy source code to microservices: on multitenancy, statefulness, and data consistency. IEEE Softw. 35(3), 63–72 (2018)CrossRefGoogle Scholar
  3. 3.
    Clarke, P.M., Elger, P., O’Connor, R.V.: Technology enabled continuous software development. In: Proceedings of the International Workshop on Continuous Software Evolution and Delivery, pp 48. ACM (2016)Google Scholar
  4. 4.
    Villamizar, M., Garcés, O., Castro, H., Verano, M., Salamanca, L., Casallas, R., Gil, S.: 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)Google Scholar
  5. 5.
    Fowler, M., Lewis, J.: Microservices a definition of this new architectural term (2014). https://www.martinfowler.com/articles/microservices.html
  6. 6.
    Thönes, J.: Microservices. IEEE Softw. 32(1), 116 (2015)CrossRefGoogle Scholar
  7. 7.
    Gutiérrez-Fernández, A.M., Resinas, M., Ruiz-Cortés, A.: Redefining a process engine as a microservice platform. In: International Conference on Business Process Management, pp. 252–263. Springer, Heidelberg (2016)CrossRefGoogle Scholar
  8. 8.
    Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972)CrossRefGoogle Scholar
  9. 9.
    Kitchenham, B., Charters, S.: Guidelines for performing systematic literature reviews in software engineering (2007)Google Scholar
  10. 10.
    Sun, L., Li, Y., Memon, R.A.: An open IOT framework based on microservices architecture. China Commun. 14(2), 154–162 (2017)CrossRefGoogle Scholar
  11. 11.
    Pérez, A., Moltó, G., Caballer, M., Calatrava, A.: Serverless computing for container-based architectures. Future Gener. Comput. Syst. 83, 50–59 (2018)CrossRefGoogle Scholar
  12. 12.
    Zheng, T., Zheng, X., Zhang, Y., Deng, Y., Dong, E., Zhang, R., Liu, X.: SmartVM: a SLA-aware microservice deployment framework. World Wide Web 22, 1–19 (2018)Google Scholar
  13. 13.
    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)CrossRefGoogle Scholar
  14. 14.
    Escobar, D., Cárdenas, D., Amarillo, R., Castro, E., Garcés, K., Parra, C., Casallas, R.: Towards the understanding and evolution of monolithic applications as microservices. In: 2016 XLII Latin American Computing Conference (CLEI), pp. 1–11. IEEE (2016)Google Scholar
  15. 15.
    Mohagheghi, P., Sæther, T.: Software engineering challenges for migration to the service cloud paradigm: Ongoing work in the REMICS project. In: 2011 IEEE World Congress on Services, pp. 507–514. IEEE (2011)Google Scholar
  16. 16.
    Razavian, M., Lago, P.: Towards a conceptual framework for legacy to soa migration. In: ICSOC/ServiceWave 2009 Workshops on Service-Oriented Computing, pp. 445–455. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  17. 17.
    Beserra, P.V., Camara, A., Ximenes, R., Albuquerque, A.B., Mendonça, N.C.: Cloudstep: a step-by-step decision process to support legacy application migration to the cloud. In: 2012 IEEE 6th International Workshop on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems (MESOCA), pp. 7–16. IEEE (2012)Google Scholar
  18. 18.
    Malouche, H., Halima, Y.B., Ghezala, H.B.: Enterprise information system migration to the cloud: Assessment phase. In: 2016 IEEE/ACS 13th International Conference of Computer Systems and Applications (AICCSA), pp. 1–6. IEEE (2016)Google Scholar
  19. 19.
    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)CrossRefGoogle Scholar
  20. 20.
    Balalaie, A., Heydarnoori, A., Jamshidi, P.: Microservices architecture enables devops: migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016)CrossRefGoogle Scholar
  21. 21.
    Gan, Y., Delimitrou, C.: The architectural implications of cloud microservices. IEEE Comput. Archit. Lett. 17(2), 155–158 (2018)CrossRefGoogle Scholar
  22. 22.
    Ahmadvand, M., Ibrahim, A.: Requirements reconciliation for scalable and secure microservice (De)composition. In: 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW), pp. 68–73. IEEE (2016)Google Scholar
  23. 23.
    Linthicum, D.S.: Practical use of microservices in moving workloads to the cloud. IEEE Cloud Comput. 3(5), 6–9 (2016)CrossRefGoogle Scholar
  24. 24.
    Larrucea, X., Santamaria, I., Colomo-Palacios, R., Ebert, C.: Microservices. IEEE Softw. 35(3), 96–100 (2018)CrossRefGoogle Scholar
  25. 25.
    Killalea, T.: The hidden dividends of microservices. Commun. ACM 59(8), 42–45 (2016)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Escuela Politécnica NacionalQuitoEcuador

Personalised recommendations