Abstract
Microservice architectures have gained popularity in the last ten years, based on their intrinsic capabilities of implementing scalable software architectures. However, understanding a microservice architecture is still a challenging task for software architects. Current state-of-the-art approaches addressing this challenge focus on exhaustive solutions, working in an all-or-nothing way. These all-or-nothing solutions rely on heuristics to create one map of a given architecture, using static and/or dynamic analysis of the existing source code. This is not compatible with the classical approaches used in software comprehension, that relies on the exploration of a program in an incremental way. In this paper, we leverage the exploration metaphor and describes the Anaximander approach to support the incremental definition of a map that suits the needs of the architect exploring an architecture. Using probes working at different levels of abstraction and precision, one can incrementally chart a map representing the architecture and leverage the map by querying it. We applied the Anaximander approach to six reference microservice architecture published by major actors from the state-of-practice.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Assunção, W.K.G., Krüger, J., Mendonça, W.D.F.: Variability management meets microservices: six challenges of re-engineering microservice-based webshops. In: 24rd International Systems and Software Product Line Conference, SPLC, Montreal, Canada. ACM (2020). https://variability-challenges.github.io/
Garg, N.: Apache Kafka. Packt Publishing Ltd., Birmingham (2013)
Granchelli, G., Cardarelli, M., Francesco, P.D., Malavolta, I., Iovino, L., Salle, A.D.: Towards recovering the software architecture of microservice-based systems. In: 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), pp. 46–53, April 2017. https://doi.org/10.1109/ICSAW.2017.48
Haitzer, T., Zdun, U.: DSL-based support for semi-automated architectural component model abstraction throughout the software lifecycle. In: Proceedings of the 8th International ACM SIGSOFT Conference on Quality of Software Architectures, QoSA 2012, pp. 61–70.Association for Computing Machinery, New York (2012). https://doi.org/10.1145/2304696.2304709
Kienzle, J., Mussbacher, G., Combemale, B., DeAntoni, J.: A unifying framework for homogeneous model composition. Softw. Syst. Model. 18(5), 3005–3023 (2019). https://doi.org/10.1007/s10270-018-00707-8
Kleehaus, M., Uludağ, Ö., Schäfer, P., Matthes, F.: MICROLYZE: a framework for recovering the software architecture in microservice-based environments. In: Mendling, J., Mouratidis, H. (eds.) CAiSE 2018. LNBIP, vol. 317, pp. 148–162. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-92901-9_14
Ma, S., Liu, I., Chen, C., Lin, J., Hsueh, N.: Version-based microservice analysis, monitoring, and visualization. In: 2019 26th Asia-Pacific Software Engineering Conference (APSEC), pp. 165–172, December 2019. https://doi.org/10.1109/APSEC48747.2019.00031. iSSN 2640-0715
Ma, S.P., Fan, C.Y., Chuang, Y., Liu, I.H., Lan, C.W.: Graph-based and scenario-driven microservice analysis, retrieval, and testing. Future Gener. Comput. Syst. 100, 724–735 (2019). http://www.sciencedirect.com/science/article/pii/S0167739X19302614
Müller, H.A., Jahnke, J.H., Smith, D.B., Storey, M.A., Tilley, S.R., Wong, K.: Reverse engineering: a roadmap. In: Proceedings of the Conference on The Future of Software Engineering, ICSE 2000, pp. 47–60. Association for Computing Machinery, New York (2000)
Müller, H.A., Tilley, S.R., Wong, K.: Understanding software systems using reverse engineering technology perspectives from the Rigi project. In: Proceedings of the 1993 Conference of the Centre for Advanced Studies on Collaborative Research: Software Engineering, CASCON 1993, vol. 1, pp. 217–226 (1993)
OMG: Knowledge Discovery Metamodel 1.4. Technical report, OMG (2016)
Vernon, V.: Implementing Domain-Driven Design. Addison-Wesley Professional, Boston (2013)
Weaveworks: SockShop, a generic microservices application (2020). https://github.com/microservices-demo. Accessed 27 May 2020
Acknowledgments
This research has been supported by the Natural Sciences and Engineering Research Council of Canada (NSERC), Université du Québec à Montréal (UQAM), and the Inria - Équipe Associée program.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Mosser, S., Caissy, JP., Juroszek, F., Vouters, F., Moha, N. (2020). Charting Microservices to Support Services’ Developers: The Anaximander Approach. In: Kafeza, E., Benatallah, B., Martinelli, F., Hacid, H., Bouguettaya, A., Motahari, H. (eds) Service-Oriented Computing. ICSOC 2020. Lecture Notes in Computer Science(), vol 12571. Springer, Cham. https://doi.org/10.1007/978-3-030-65310-1_3
Download citation
DOI: https://doi.org/10.1007/978-3-030-65310-1_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-65309-5
Online ISBN: 978-3-030-65310-1
eBook Packages: Computer ScienceComputer Science (R0)