Visualization of Microservices-based Information System Architectures Using OpenTelemetry Data

封面

如何引用文章

全文:

开放存取 开放存取
受限制的访问 ##reader.subscriptionAccessGranted##
受限制的访问 订阅存取

详细

Within the framework of the presented article, the relevance and necessity of solving the problem of visualizing the architecture of information systems based on microservices is substantiated. This task is especially significant both for the process of developing new systems and for optimizing the operation of existing ones. To provide comprehensive and balanced up-to-date information about the structure and interaction of microservices, an approach is required that is focused on automatically collecting and processing information about the relationships between microservices and their internal structure for the purpose of subsequent visualization of architectural diagrams. The authors found that specialized software trace logs provide sufficient information for visualizing the architecture. In their article, the authors took a closer look at tracing issues in the context of OpenTelemetry, an open-source project designed specifically for collecting telemetry data from software and then analyzing it. The authors proposed the C4 model as a means for visualizing architecture. The C4 model is a relatively new approach to modeling software systems, which involves the development and representation of context, containers, components, code and their relationships. The main task that the authors set for themselves is to automate the process of creating C4 model diagrams based on data received from OpenTelemetry. This approach will significantly simplify the process of understanding the structure and dynamics of interaction between microservices within the system. The key result of the research is the development of algorithms for collecting and converting trace data to create C4 diagrams, as well as the creation of appropriate software that implements these algorithms.

全文:

受限制的访问

作者简介

Dmitriy Kornienko

Bunin Yelets State University

编辑信件的主要联系方式.
Email: dmkornienko@mail.ru
ORCID iD: 0000-0002-3115-194X

Cand. Sci. (Phys.-Math.), Associate Professor, associate professor, Department of Mathematical Modeling, Computer Technologies and Information Security

俄罗斯联邦, Yelets

Alexander Nikulin

Bunin Yelets State University

Email: avnikulin.niiaa@gmail.com
ORCID iD: 0009-0005-8426-3629

PhD student, Department of Mathematical Modeling, Computer Technologies and Information Security

俄罗斯联邦, Yelets

参考

  1. Nadeikina L.A., Cherkasova N.I. Creating applications based on microservices. Informatization and Communication. 2019. No. 4. Pp. 107–112. (In Rus.). doi: 10.34219/2078-8320-2019-10-4-107-112.
  2. Kornienko D.V., Mishina S.V., Shcherbatykh S.V., Melnikov M.O. Principles of securing RESTful API web services developed with python frameworks. Journal of Physics: Conference Series. 2021. No. 2094 (3). No. art. 032016. doi: 10.1088/1742-6596/2094/3/032016.
  3. Valdivia H. A., Laura-Gonzalez A., Lemon K. Patterns of microservice architecture: A multidisciplinary literature review. Proceedings of the Institute of System Programming of the Russian Academy of Sciences. 2021. Vol. 33. No. 1. Pp. 81–96. (In Rus.). doi: 10.15514/ISPRAS-2021-33(1)-6. EDN: MHZQIC.
  4. Hüseyin Ünlü, Dhia Eddine Kennouche, Görkem Kılınç Soylu, Onur Demirörs. Microservice-based projects in agile world: A structured interview. Information and Software Technology. 2024. Vol. 165. No. art. 107334. ISSN: 0950-5849. doi: 10.1016/j.infsof.2023.107334.
  5. Lulu Wang, Peng Hu, Xianglong Kong et al. Microservice architecture recovery based on intra-service and inter-service features. Journal of Systems and Software. 2023. Vol. 204. No. art. 111754. ISSN: 0164-1212. doi: 10.1016/j.jss.2023.111754.
  6. Romanov V.Y. A tool for reverse engineering and refactoring software written in Java. International Journal of Open Information Technologies. 2013. Vol. 1. No. 8. Pp. 1–6. (In Rus.)
  7. Janes A., Li X., Lenarduzzi V. Open tracing tools: Overview and critical comparison. Journal of Systems and Software. 2023. Vol. 204. No. art. 111793. ISSN: 0164-1212. doi: 10.1016/j.jss.2023.111793.
  8. Rudometkin V.A. Monitoring and troubleshooting in distributed high-load systems. Cybernetics and Programming. 2020. No. 2. Pp. 1–6. (In Rus.). doi: 10.25136/2644-5522.2020.2.32996.
  9. Giamattei L., Guerriero A., Pietrantuono R, et al. Monitoring tools for DevOps and microservices: A systematic grey literature review. Journal of Systems and Software. 2024. Vol. 208. No. art. 111906. ISSN: 0164-1212. doi: 10.1016/j.jss.2023.111906.
  10. Boitsov B.V., Minakova O.V., Potsebneva I.V. An architectural approach to creating software tools for working with evaluation tools of an information system according to quality parameters. Quality and Life. 2022. № 1 (33). Pp. 23–30. (In Rus.). doi: 10.34214/2312-5209-2022-33-1-23-30.
  11. Kitanin S.S., Makarevich A.D. Building the architecture of a software system for a geoinformation application of augmented reality. Modern Science: Actual Problems of Theory and Practice. Series: Natural and Technical Sciences. 2023. No. 6-2. Pp. 90–100. (In Rus.). doi: 10.37882/2223-2982.2023.6-2.20.
  12. Namiot D.E., Romanov V.Yu. 3D visualization of architecture and software metrics. Scientific Visualization. 2018. Vol. 10. No. 5. Pp. 123–139. (In Rus.). doi: 10.26583/sv.10.5.08.
  13. Mortara J., Collet Ph., Dery-Pinna A.-M. Visualization of object-oriented software in a city metaphor: Comprehending the implemented variability and its technical debt. Journal of Systems and Software. 2024. Vol. 208. No. art. 111876. ISSN: 0164-1212. doi: 10.1016/j.jss.2023.111876.
  14. Vyugina A.A., Kroshilina A.A. Visualization of the client-server architecture using delegates in C#. In: Methods and means of information processing and storage: Interuniversity collection of scientific papers. B.V. Kostrov (ed.). Ryazan: Ryazan State Radio Engineering University named after V.F. Utkin, 2022. Pp. 140–144.

补充文件

附件文件
动作
1. JATS XML
2. Fig. 1. Stages of an algorithm for visualizing the architecture of an information system based on microservices using OpenTelemetry

下载 (17KB)
3. Fig. 2. Infrastructure diagram using OpenTelemetry

下载 (16KB)
4. Fig. 3. Zipkin Trace Element Example

下载 (90KB)
5. Fig. 4. Example of a subgraph in a disconnected OpenTelemetry event graph

下载 (72KB)
6. Fig. 5. An example of preparing trace graph data for architectural visualization

下载 (220KB)
7. Fig. 6. Example template for creating a PlantUML C4 diagram using the Mustache template engine

下载 (126KB)
8. Fig. 7. Architecture diagram of a prototype marketplace system in container-level C4 notation

下载 (172KB)
9. Fig. 8. Diagram C4 of the first level of context for a prototype marketplace system after applying the Label Propagation Clustering algorithm

下载 (32KB)


##common.cookie##