Skip to main content

Improving Comprehensibility of Event-Driven Microservice Architectures by Graph-Based Visualizations

  • Conference paper
  • First Online:
Software Architecture (ECSA 2024)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14889))

Included in the following conference series:

  • 654 Accesses

Abstract

This paper presents an industrial case study examining challenges faced by software architects and developers during planning and assessing the correctness of event-driven communication behaviour. We present a novel approach for visualizing the communication paths of an event-driven microservice system. Service-local documentation is used to create a global view of the runtime behaviour. We show that this visualization approach can significantly reduce the time required to understand an architecture, while additionally improving accuracy and confidence.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Data Availability Statement

The anonymized protocols from our initial interviews and the raw data from the evaluation are available for download (https://zenodo.org/records/12519817). The service-local documentations of events which is used to evaluate our visualization and the source code of our visualization is proprietary information and not publicly available.

References

  1. Cohen, J.: Statistical power analysis. Curr. Dir. Psychol. Sci. 1(3), 98–101 (1992)

    Article  Google Scholar 

  2. Dąbrowski, R., Stencel, K., Timoszuk, G.: Software is a directed multigraph. In: Crnkovic, I., Gruhn, V., Book, M. (eds.) ECSA 2011. LNCS, vol. 6903, pp. 360–369. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-23798-0_38

    Chapter  Google Scholar 

  3. Farsi, H., Allaki, D., En-Nouaary, A., Dahchour, M.: A graph-based solution to deal with cyclic dependencies in microservices architecture. In: 2022 9th International Conference on Future Internet of Things and Cloud (FiCloud), pp. 254–259 (2022). https://doi.org/10.1109/FiCloud57274.2022.00042

  4. Gamage, I.U.P., Perera, I.: Using dependency graph and graph theory concepts to identify anti-patterns in a microservices system: a tool-based approach. In: 2021 Moratuwa Engineering Research Conference (MERCon), pp. 699–704 (2021). https://doi.org/10.1109/MERCon52712.2021.9525743

  5. Garcia-Molina, H., Salem, K.: Sagas. ACM Sigmod. Record 16(3), 249–259 (1987)

    Article  Google Scholar 

  6. Guth, J., Leymann, F.: Pattern-based rewrite and refinement of architectures using graph theory. SICS Softw.-Intensive Cyber-Phys. Syst. 35(1), 115–126 (2020). https://doi.org/10.1007/s00450-019-00416-7

    Article  Google Scholar 

  7. Le Metayer, D.: Describing software architecture styles using graph grammars. IEEE Trans. Software Eng. 24(7), 521–533 (1998). https://doi.org/10.1109/32.708567

    Article  Google Scholar 

  8. Lehr, R.: Sixteen s-squared over d-squared: a relation for crude sample size estimates. Stat. Med. 11(8), 1099–1102 (1992). https://doi.org/10.1002/sim.4780110811

    Article  Google Scholar 

  9. Raj, V., Ravichandra, S.: A service graph based extraction of microservices from monolith services of service-oriented architecture. Softw. Pract. Exp. 52(7), 1661–1678 (2022). https://doi.org/10.1002/spe.3081

  10. Shahin, M., Liang, P., Li, Z.: Architectural design decision visualization for architecture design: preliminary results of a controlled experiment. In: Proceedings of the 5th European Conference on Software Architecture: Companion Volume. ECSA 2011. Association for Computing Machinery, New York (2011). https://doi.org/10.1145/2031759.2031762

  11. Timperley, C.S., Dürschmid, T., Schmerl, B., Garlan, D., Le Goues, C.: Rosdiscover: statically detecting run-time architecture misconfigurations in robotics systems. In: 2022 IEEE 19th International Conference on Software Architecture (ICSA), pp. 112–123 (2022). https://doi.org/10.1109/ICSA53651.2022.00019

  12. Welch, B.L.: The significance of the difference between two means when the population variances are unequal. Biometrika 29(3/4), 350–362 (1938). http://www.jstor.org/stable/2332010

  13. Winchester, G., Parisis, G., Berthouze, L.: On the temporal behaviour of a large-scale microservice architecture. In: NOMS 2023-2023 IEEE/IFIP Network Operations and Management Symposium, pp. 1–6 (2023). https://doi.org/10.1109/NOMS56928.2023.10154427

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sven Schoop .

Editor information

Editors and Affiliations

Ethics declarations

Disclosure of Interests

Authors A and B are employed by the company that develops and maintains the system and team studied.

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Schoop, S., Hebisch, E., Franz, T. (2024). Improving Comprehensibility of Event-Driven Microservice Architectures by Graph-Based Visualizations. In: Galster, M., Scandurra, P., Mikkonen, T., Oliveira Antonino, P., Nakagawa, E.Y., Navarro, E. (eds) Software Architecture. ECSA 2024. Lecture Notes in Computer Science, vol 14889. Springer, Cham. https://doi.org/10.1007/978-3-031-70797-1_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-70797-1_14

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-70796-4

  • Online ISBN: 978-3-031-70797-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics