skip to main content
10.1145/3234152.3234195acmotherconferencesArticle/Chapter ViewAbstractPublication PagesxpConference Proceedingsconference-collections
research-article

An automatic extraction approach: transition to microservices architecture from monolithic application

Published:21 May 2018Publication History

ABSTRACT

Microservice architecture has been introduced as a new alternative to the monolithic architecture. It has several benefits like scalability, reliability, increase in agility and productivity, resilience to failure, ease of deployment and maintenance, and decrease in time to market. Therefore, software companies have showed a tendency to transform architecture of their legacy applications from monoliths to microservice architecture. In this transformation process, software development teams face the challenge of migration of large applications to the new architecture, where understanding the current application and reusing existing code base are important. In this paper, we propose a new approach to transform existing applications into microservices using code repositories. We use evolutionary and static code coupling information, and the graph clustering methodology, in order to automatically extract microservices from monoliths. In experimental analysis, we investigate two software projects and our approach reach up to 89% of success rate by comparing extracted microservices with the actual results.

References

  1. S. Newman, Building Microservices, O'Reilly, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Fowler, J. Lewis, Microservices a definition of this new architectural term, Retrieved 2018, January, from http://martinfowler.com/articles/microservices.html.Google ScholarGoogle Scholar
  3. Basics of the Unix Philosophy - Chapter1.Philosophy, Retrieved 2018, March from: https://homepage.cs.uri.edu/~thenry/resources/unix_art/ch01s06.htmlGoogle ScholarGoogle Scholar
  4. C. Y. Fan and S. P. Ma, Migrating Monolithic Mobile Application to Microservice Architecture: An Experiment Report, 2017 IEEE International Conference on AI & Mobile Services (AIMS), Honolulu, HI, 2017, pp. 109--112.Google ScholarGoogle ScholarCross RefCross Ref
  5. N. Alshuqayran, N. Ali, R. Evans, A systematic Mapping Study in Microservice Architecture, IEEE 9th International Conference on Service-Oriented Computing and Applications, 2016Google ScholarGoogle Scholar
  6. Vural H., Koyuncu M., Guney S. (2017) A Systematic Literature Review on Microservices, In: Gervasi O. et al. (eds) Computational Science and Its Applications - ICCSA 2017. ICCSA 2017. Lecture Notes in Computer Science, vol 10409. Springer, ChamGoogle ScholarGoogle Scholar
  7. C. Pahl, P. Jamshidi, Microservices: A Systematic Mapping Study, Proceedings of the 6th International Conference on Cloud Computing and Services Science, pp. 137--146, 2016 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Taibi, V. Lenarduzzi, C. Pahl., Architectural Patterns for Microservices: a Systematic Mapping Study, 8th International Conference on Cloud Computing and Services Science, XCLOSER 2018Google ScholarGoogle Scholar
  9. J. P. Gouigoux and D. Tamzalit, From Monolith to Microservices: Lessons Learned on an Industrial Migration to a Web Oriented Architecture, 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), Gothenburg, 2017, pp. 62--65Google ScholarGoogle ScholarCross RefCross Ref
  10. Chris Richardson, Refactoring a Monolith into Microservices, 2016, Retrieved 2018, January, from: https://www.nginx.com/blog/refactoring-a-monolith-into-microservices/Google ScholarGoogle Scholar
  11. Kyle Brown, 2017, Apply the Strangler Application pattern to microservices application, Retrieved 2018, February, from: https://www.ibm.com/developerworks/cloud/library/cl-strangler-application-pattern-microservices-apps-trs/index.htmlGoogle ScholarGoogle Scholar
  12. D. Escobar et al., Towards the understanding and evolution of monolithic applica-tions as microservices, XLII Latin American Computing Conference (CLEI), Val-paraíso, 2016Google ScholarGoogle ScholarCross RefCross Ref
  13. Kecskemeti, G., Marosi, A.C., Kertesz, A. "The ENTICE approach to decompose monolithic services into microservices," 2016 International Conference on High Performance Computing & Simulation (HPCS), Innsbruck, 2016, pp. 591--596.Google ScholarGoogle Scholar
  14. Alessandra Levcovitz; Ricardo Terra; Marco Tulio Valente. Towards a Technique for Extracting Microservices from Monolithic Enterprise Systems. 3rd Brazilian Work-shop on XSoftware Visualization, Evolution and Maintenance (VEM), p. 97--104, 2015Google ScholarGoogle Scholar
  15. G. Mazlami, J. Cito and P. Leitner, "Extraction of Microservices from Monolithic Software Architectures", IEEE International Conference on Web Services (ICWS), Honolulu, HI, 2017Google ScholarGoogle ScholarCross RefCross Ref
  16. M. E. J. Newman and M. Girvan, "Finding and evaluating community structure in networks", Phys. Rev. E 69, 2004Google ScholarGoogle Scholar
  17. Erdemir, U., Tekin, U. ve Buzluca, F. (2011). Object Oriented Software Clustering Based on Community Structure, 18th Asia Pacific Software Engineering Conference (APSEC X2011), Ho Chi Minh City, Vietnam: IEEE Computer Society, December 5--8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. U. Erdemir, F. Buzluca, "A Learning-Based Module Extraction Method for Object-Oriented Systems, J. Syst. Software, 97 (2014), pp. 156--177 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Newman, M. E. (2004). Fast algorithm for detecting community structure in networks. Physical Review E, 69(6), 066133Google ScholarGoogle Scholar
  20. A. Clauset, M. E. J. Newman, and C. Moore, "Finding community structure in very large networks", Physical Rev. E 70, 066111, 2004Google ScholarGoogle ScholarCross RefCross Ref
  21. Wu, J., Hassan, A. E. and Holt, R. C. (2005). Comparison of clustering algorithms in the context of software evolution, Proceedings of the 21st IEEE International Conference on Software Maintenance, (pp. 525--535) Budapest, Hungary Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Bittencourt, R. A. and Guerrero, D. D. S. (2009). Comparison of graph clustering algorithms for recovering software architecture module views, 13th IEE European Conference on Software Maintenance and Reengineering, (pp. 251--254)., Germany, March 24--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Tzerpos, V. and Holt, R. C. (1999). MoJo: A distance metric for software clusterings, Proceedings of the Sixth IEEE Working Conference on Reverse Engineering, (pp. 187--193). Atlanta, Georgia, USA : IEEE Computer Society, October 6--8 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Erdemir, U., Tekin, U., Buzluca, F., "E-Quality: A Graph Based Object Oriented Software Quality Visualization Tool". In Proceedings of the 6th IEEE International Workshop Xon Visualizing Software for Understanding and Analysis, pp..6--13, Virginia, USA. 2011.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. An automatic extraction approach: transition to microservices architecture from monolithic application

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Other conferences
          XP '18: Proceedings of the 19th International Conference on Agile Software Development: Companion
          May 2018
          111 pages
          ISBN:9781450364225
          DOI:10.1145/3234152

          Copyright © 2018 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 21 May 2018

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate11of15submissions,73%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader