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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Familiar, B.: Microservices, IoT, and Azure. Apress, Berkeley, CA (2015). https://doi.org/10.1007/978-1-4842-1275-2
Fowler, S.J.: Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization. O’Reilly Media Inc., Sebastopol (2016)
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
Newman, S.: Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith. O’Reilly Media Inc., Sebastopol (2019)
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
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
Gammelgaard, C.H.: Microservices in .NET Core: with examples in Nancy (2016)
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)
Szendi-Varga, J.: Graph Technology Landscape 2020 (2020). https://graphaware.com/graphaware/2020/02/17/graph-technology-landscape-2020.html
Graph Visualization. https://neo4j.com/developer/graph-visualization/
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
Neo4j, Inc.: Managing Microservices with Neo4j (2015). https://neo4j.com/blog/managing-microservices-neo4j/
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
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
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)
Needham, M., Hodler, A.E.: Graph Algorithms: Practical Examples in Apache Spark and Neo4j. O’Reilly Media Inc., Sebastopol (2019)
Neo4j, Inc.: The Neo4j Graph Data Science Library Manual v1.2. https://neo4j.com/docs/graph-data-science/1.2/
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
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
Mercator. https://github.com/LendingClub/mercator
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
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)