Abstract
Microservices has become a widely used and discussed architectural style for designing modern applications due to advantages like granular scalability and maintainability. However, it is still a complex task decomposing an application into microservices. Software architects often design architectures manually. In this paper we give a state-of-the-art overview of current approaches to identifying microservices. Therefore we use a literature review and classify the content based on the software development process.
The main results are that mostly monolithic artifacts are used for starting with microservice decomposition. Data-intensive applications are less focused. Rule-based and clustering algorithms are suitable ways to find microservice candidates. Both researchers and software architects profit from this overview. Practically it supports choosing suitable approaches considering aspects like cohesion, coupling, workload, deployment and further quality criteria for each phase during the software development process.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Andritsos, P., Tzerpos, V.: Information-theoretic software clustering. IEEE Trans. Softw. Eng. 31(2) (2005)
Arsanjani, A., Ghosh, S., Allam, A., Abdollah, T., Ganapathy, S., Holley, K.: SOMA: a method for developing service-oriented solutions. IBM Syst. J. 47(3), 377–396 (2008)
Carrasco, A., van Bladel, B., Demeyer, S.: Migrating towards microservices: migration and architecture smells. In: Proceedings of the 2nd International Workshop on Refactoring, IWoR 2018, pp. 1–6. Association for Computing Machinery, New York (2018)
Carvalho, L., Garcia, A., Assunção, W.K.G., Mello, R.d., Lima, M.J.d.: Analysis of the criteria adopted in industry to extract microservices. In: 2019 IEEE/ACM Joint 7th International Workshop on Conducting Empirical Studies in Industry (CESI) and 6th International Workshop on Software Engineering Research and Industrial Practice (SER IP), pp. 22–29 (2019)
Cato, P.: Einflüsse auf den Implementierungserfolg von Big Data Systemen: Ergebnisse einer inhalts- und kausalanalytischen Untersuchung. Dissertation, Friedrich-Alexander-Universität Erlangen-Nürnberg, Erlangen-Nürnberg (2016)
Cojocaru, M., Uta, A., Oprescu, A.: Attributes assessing the quality of microservices automatically decomposed from monolithic applications. In: 2019 18th International Symposium on Parallel and Distributed Computing (ISPDC), pp. 84–93 (2019)
Di Francesco, P., Lago, P., Malavolta, I.: Architecting with microservices: a systematic mapping study. J. Syst. Softw. 150, 77–97 (2019)
Di Francesco, P., Malavolta, I., Lago, P.: Research on architecting microservices: trends, focus, and potential for industrial adoption. In: IEEE International Conference on Software Architecture, pp. 21–30 (2017)
Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley, Upper Saddle River (2011)
Fritzsch, J., Bogner, J., Wagner, S., Zimmermann, A.: Microservices migration in industry: intentions, strategies, and challenges. In: IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 481–490 (2019)
Bruel, J.-M., Mazzara, M., Meyer, B. (eds.): DEVOPS 2018. LNCS, vol. 11350. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-06019-0
Gouigoux, J., Tamzalit, D.: From monolith to microservices: lessons learned on an industrial migration to a web oriented architecture. In: 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), pp. 62–65 (2017)
Govind, Y., et al.: Entity matching meets data science. In: SIGMOD 2019: Proceedings of the 2019 International Conference on Management of Data, pp. 389–403 (2019)
Hassan, S., Bahsoon, R.: Microservices and their design trade-offs: a self-adaptive roadmap. In: IEEE International Conference on Services Computing, pp. 813–818 (2016)
Johnston, S.: RUP Plug-In for SOA V1.0. IBM developerWorks (2005)
Kazanavičius, J., Mažeika, D.: Migrating legacy software to microservices architecture. In: 2019 Open Conference of Electrical, Electronic and Information Sciences (eStream),pp. 1–5 (2019)
Krämer, M.: A microservice architecture for the processing of large geospatial data in the cloud. Dissertation, Technische Universität Darmstadt, Darmstadt (2017)
Lewis, J., Fowler, M.: Microservices: a definition of this new architectural term (2014). https://martinfowler.com/articles/microservices.html
Marz, N., Warren, J.: Big Data: Principles and Best Practices of Scalable Real-time Data Systems, 1. aufl. edn. Manning, Shelter Island (2015)
Mayring, P.: Qualitative content analysis: theoretical foundation, basic procedures and software solution. Klagenfurt (2014)
Mazlami, G., Cito, J., Leitner, P.: Extraction of microservices from monolithic software architectures. In: 2017 IEEE International Conference on Web Services (ICWS), pp. 524–531 (2017)
Papazoglou, M.: Web Services: Principles and Technology. Pearson, Prentice Hall, Upper Saddle River (2008)
Petersen, K., Vakkalanka, S., Kuzniarz, L.: Guidelines for conducting systematic mapping studies in software engineering: an update. Inf. Softw. Technol. 64, 1–18 (2015)
Richardson, C.: Microservice Patterns: With Examples in Java. Manning, Shelter Island (2019)
Starke, G.: Effektive Softwarearchitekturen: Ein praktischer Leitfaden, 7 edn. Hanser eLibrary, Hanser, München (2015)
Taibi, D., Lenarduzzi, V., Pahl, C.: Architectural patterns for microservices: a systematic mapping study. In: Proceedings of the 8th International Conference on Cloud Computing and Services Science, vol. 1, pp. 221–232 (2018)
Wilde, T., Hess, T.: Forschungsmethoden der Wirtschaftsinformatik: Eine empirische Untersuchung. WIRTSCHAFTSINFORMATIK 49(4), 280–287 (2007)
Zimmermann, O.: An architectural decision modeling framework for service-oriented architecture design. Dissertation@Stuttgart, University (2009)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A Selected Studies
A Selected Studies
The selected studies are listed below and in reverse chronological order.
Key | Study |
---|---|
P31 | Abdullah, M., Iqbal, W., Erradi, A.: Unsupervised learning approach for web application auto-decomposition into microservices. Journal of Systems and Software (2019) |
P30 | 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. Journal of Systems and Software (2019) |
P29 | Tserpes, K.: stream-MSA: A microservices’ methodology for the creation of short, fast-paced, stream processing pipelines. ICT Express (2019) |
P28 | Alturki, B., Reiff-Marganiec, S., Perera, C., De, S.: Exploring the Effectiveness of Service Decomposition in Fog Computing Architecture for the Internet of Things. IEEE Transactions on Sustainable Computing (2019) |
P27 | Kaplunovich, A.: ToLambda-Automatic Path to Serverless Architectures. In: 2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR), pp. 1–8 (2019) |
P26 | Sharma, S., Uniyal, N., Tola, B., Jiang, Y.: On Monolithic and Microservice Deployment of Network Functions. In: 2019 IEEE Conference on Network Softwarization (NetSoft), pp. 387–395 (2019) |
P25 | Jin, W., Liu, T., Cai, Y., Kazman, R., Mo, R., Zheng, Q.: Service Candidate Identification from Monolithic Systems based on Execution Traces. IEEE Transactions on Software Engineering (2019) |
P24 | Gouigoux, J.; Tamzalit, D.: “Functional-First" Recommendations for Beneficial Microservices Migration and Integration Lessons Learned from an Industrial Experience. In: 2019 IEEE International Conference on Software Architecture Companion (ICSA-C), pp. 182–186 (2019) |
P23 | Carvalho, L., Garcia, A., Assunção, W.K.G., Bonifácio, R., Tizzei, L.P., Colanzi, T.E.: Extraction of Configurable and Reusable Microservices from Legacy Systems: An Exploratory Study. In: Proceedings of the 23rd International Systems and Software Product Line Conference - Volume A, pp. 26–31. Association for Computing Machinery, New York, NY, USA (2019) |
P22 | Knoche, H., Hasselbring, W.: Using Microservices for Legacy Software Modernization. IEEE Softw. (2018) |
P21 | Shimoda, A., Sunada, T.: Priority Order Determination Method for Extracting Services Stepwise from Monolithic System. In: 2018 7th International Congress on Advanced Applied Informatics (IIAI-AAI), pp. 805–810 (2018) |
P20 | Jin, W., Liu, T., Zheng, Q., Cui, D., Cai, Y.: Functionality-Oriented Microservice Extraction Based on Execution Trace Clustering. In: 2018 IEEE International Conference on Web Services (ICWS), pp. 211–218 (2018) |
P19 | Kamimura, M., Yano, K., Hatano, T., Matsuo, A.: Extracting Candidates of Microservices from Monolithic Application Code. In: 2018 25th Asia-Pacific Software Engineering Conference (APSEC), pp. 571–580 (2018) |
P18 | Tusjunt, M., Vatanawood, W.: Refactoring Orchestrated Web Services into Microservices Using Decomposition Pattern. In: 2018 IEEE 4th International Conference on Computer and Communications (ICCC), pp. 609–613 (2018) |
P17 | Sriraman, A., Wenisch, T.F.: \(\mu \) Suite: A Benchmark Suite for Microservices. In: 2018 IEEE International Symposium on Workload Characterization (IISWC), pp. 1–12 (2018) |
P16 | Amiri, M.J.: Object-Aware Identification of Microservices. In: 2018 IEEE International Conference on Services Computing (SCC), pp. 253–256 (2018) |
P15 | Baresi, L., Garriga, M., Renzis, A. de: Microservices Identification Through Interface Analysis. In: Paoli, F. de, Schulte, S., Broch Johnsen, E. (eds.) Service-Oriented and Cloud Computing. European Conference, ESOCC 2017, Oslo, Norway, September 27–29, 2017 (2017) |
P14 | Gouigoux, J.; Tamzalit, D.: From Monolith to Microservices: Lessons Learned on an Industrial Migration to a Web Oriented Architecture. In: 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), pp. 62–65 (2017) |
P13 | Boubendir, A., Bertin, E., Simoni, N.: A VNF-as-a-service design through micro-services disassembling the IMS. In: 2017 20th Conference on Innovations in Clouds, Internet and Networks (ICIN), pp. 203–210 (2017) |
P12 | Fan, C., Ma, S.: Migrating Monolithic Mobile Application to Microservice Architecture: An Experiment Report. In: 2017 IEEE International Conference on AI Mobile Services (AIMS), pp. 109–112 (2017) |
P11 | Hausotter, A., Koschel, A., Zuch, M., Busch, J., Kreczik, A.: Process and Service Modelling of Insurancy Use Cases. In: 2017 IEEE 10th Conference on Service-Oriented Computing and Applications (SOCA), pp. 116–124 (2017) |
P10 | Klock, S., van der Werf, J.M.E.M., Guelen, J.P., Jansen, S.: Workload-Based Clustering of Coherent Feature Sets in Microservice Architectures. In: 2017 IEEE International Conference on Software Architecture (ICSA), pp. 11–20 (2017) |
P9 | Chen, R., Li, S., Li, Z.: From Monolith to Microservices: A Dataflow-Driven Approach. In: 2017 24th Asia-Pacific Software Engineering Conference (APSEC), pp. 466–475 (2017) |
P8 | Mazlami, G., Cito, J., Leitner, P.: Extraction of Microservices from Monolithic Software Architectures. In: 2017 IEEE International Conference on Web Services (ICWS), pp. 524–531 (2017) |
P7 | Sarita, Sebastian, S.: Transform Monolith into Microservices using Docker. In: 2017 International Conference on Computing, Communication, Control and Automation (ICCUBEA), pp. 1–5 (2017) |
P6 | Sayara, A., Towhid, M.S., Hossain, M.S.: A probabilistic approach for obtaining an optimized number of services using weighted matrix and multidimensional scaling. In: 2017 20th International Conference of Computer and Information Technology (ICCIT), pp. 1–6 (2017) |
P5 | Hasselbring, W., Steinacker, G.: Microservice Architectures for Scalability, Agility and Reliability in E-Commerce. In: 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), pp. 243–246 (2017) |
P4 | Asik, T., Selcuk, Y.E.: Policy enforcement upon software based on microservice architecture. In: 2017 IEEE 15th International Conference on Software Engineering Research, Management and Applications (SERA), pp. 283–287 (2017) |
P3 | Gysel, M., Kölbener, L., Giersche, W., Zimmermann, O.: Service Cutter: A Systematic Approach to Service Decomposition. In: Aiello, M., Johnsen, E.B., Dustdar, S., Georgievski, I. (eds.) Service-Oriented and Cloud Computing. 5th IFIP WG 2.14 European Conference, ESOCC 2016, Vienna, Austria, September 5-7, 2016, Proceedings, pp. 185–200 (2016) |
P2 | 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 (2016) |
P1 | Levcovitz, A., Terra, R., Valente, M.T.: Towards a Technique for Extracting Microservices from Monolithic Enterprise Systems. 3rd Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM), 97–104 (2015) |
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Schröer, C., Kruse, F., Marx Gómez, J. (2020). A Qualitative Literature Review on Microservices Identification Approaches. In: Dustdar, S. (eds) Service-Oriented Computing. SummerSOC 2020. Communications in Computer and Information Science, vol 1310. Springer, Cham. https://doi.org/10.1007/978-3-030-64846-6_9
Download citation
DOI: https://doi.org/10.1007/978-3-030-64846-6_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-64845-9
Online ISBN: 978-3-030-64846-6
eBook Packages: Computer ScienceComputer Science (R0)