Skip to main content

Service Dependency Graph Analysis in Microservice Architecture

  • Conference paper
  • First Online:
Perspectives in Business Informatics Research (BIR 2020)

Abstract

Since microservices have become popular, we see increasingly complex service architectures emerging. Microservice systems, while being well scalable, flexible, and highly available, do not tackle the reliability aspects fully. While the container orchestration solutions like Kubernetes contribute to the fault tolerance against the network or infrastructural failures, the probability of the mistake in the architectural design still exists. Several graph-based anomaly detection approaches could be employed to proactively detect critical nodes and design anti-patterns. The paper, on a simplified example of the microservices-based system, demonstrates the application of graph algorithms that provide direction in assessing the quality of the underlying architecture.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Familiar, B.: Microservices, IoT, and Azure. Apress, Berkeley, CA (2015). https://doi.org/10.1007/978-1-4842-1275-2

    Book  Google Scholar 

  2. Fowler, S.J.: Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization. O’Reilly Media Inc., Sebastopol (2016)

    Google Scholar 

  3. Liu, H., et al.: JCallGraph: tracing microservices in very large scale container cloud platforms. In: Da Silva, D., Wang, Q., Zhang, L.-J. (eds.) CLOUD 2019. LNCS, vol. 11513, pp. 287–302. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-23502-4_20

    Chapter  Google Scholar 

  4. Newman, S.: Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith. O’Reilly Media Inc., Sebastopol (2019)

    Google Scholar 

  5. Hadellis, L., Koubias, S.: An approach to interoperability in a heterogeneous control network environment. IFAC Proc. Vol. 33(20), 105–112 (2000). https://doi.org/10.1016/S1474-6670(17)38034-5

    Article  Google Scholar 

  6. Dragoni, N., et al.: Microservices: yesterday, today, and tomorrow. Present and Ulterior Software Engineering, pp. 195–216. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67425-4_12

    Chapter  Google Scholar 

  7. Gammelgaard, C.H.: Microservices in .NET Core: with examples in Nancy (2016)

    Google Scholar 

  8. Bloch, H., et al.: A microservice-based architecture approach for the automation of modular process plants. In: IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), pp. 1–8 (2018)

    Google Scholar 

  9. Szendi-Varga, J.: Graph Technology Landscape 2020 (2020). https://graphaware.com/graphaware/2020/02/17/graph-technology-landscape-2020.html

  10. Graph Visualization. https://neo4j.com/developer/graph-visualization/

  11. Negro, A., Kus, V.: Bring Order to Chaos: A Graph-Based Journey from Textual Data to Wisdom (2018). https://graphaware.com/nlp/2018/09/26/bring-order-to-chaos.html

  12. Neo4j, Inc.: Managing Microservices with Neo4j (2015). https://neo4j.com/blog/managing-microservices-neo4j/

  13. Akoglu, L., Tong, H., Koutra, D.: Graph based anomaly detection and description: a survey. Data Min. Knowl. Disc. 29(3), 626–688 (2014). https://doi.org/10.1007/s10618-014-0365-y

    Article  Google Scholar 

  14. Ma, S., Fan, C., Chuang, Y., Lee, W., Lee, S., Hsueh, N.: Using service dependency graph to analyze and test microservices. In: 2018 IEEE 42nd Annual Computer Software and Applications Conference, pp 81–86 (2018). https://ieeexplore.ieee.org/document/8377834

  15. Ma, S., Fan, C., Chuang, Y., Liu, I., Lan, C.: Graph-based and scenario-driven microservice analysis, retrieval, and testing. Future Gener. Comput. Syst. 100, 724–735 (2019)

    Article  Google Scholar 

  16. Needham, M., Hodler, A.E.: Graph Algorithms: Practical Examples in Apache Spark and Neo4j. O’Reilly Media Inc., Sebastopol (2019)

    Google Scholar 

  17. Neo4j, Inc.: The Neo4j Graph Data Science Library Manual v1.2. https://neo4j.com/docs/graph-data-science/1.2/

  18. Watt, N.: Using Graph Theory and Network Science to Explore your Microservices Architecture (2019). https://gotober.com/2019/sessions/1128/using-graph-theory-and-network-science-to-explore-your-microservices-architecture

  19. Nurmela, T., Nevavuori, P., Rahman, I.: Qualitative evaluation of dependency graph representativeness. In: CEUR Workshop Proceedings, vol. 2520, pp 37–44 (2019). http://ceur-ws.org/Vol-2520/paper5a.pdf

  20. Mercator. https://github.com/LendingClub/mercator

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Edgars Gaidels .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Gaidels, E., Kirikova, M. (2020). Service Dependency Graph Analysis in Microservice Architecture. In: Buchmann, R.A., Polini, A., Johansson, B., Karagiannis, D. (eds) Perspectives in Business Informatics Research. BIR 2020. Lecture Notes in Business Information Processing, vol 398. Springer, Cham. https://doi.org/10.1007/978-3-030-61140-8_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-61140-8_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-61139-2

  • Online ISBN: 978-3-030-61140-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics