Visualization of Microservices-based Information System Architectures Using OpenTelemetry Data

Cover Page

Cite item

Full Text

Open Access Open Access
Restricted Access Access granted
Restricted Access Subscription Access

Abstract

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.

About the authors

Dmitriy V. Kornienko

Bunin Yelets State University

Author for correspondence.
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

Russian Federation, Yelets

Alexander V. 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

Russian Federation, Yelets

References

  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.

Supplementary files

Supplementary Files
Action
1. JATS XML
2. Fig. 1. Stages of an algorithm for visualizing the architecture of an information system based on microservices using OpenTelemetry

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

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

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

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

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

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

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

Download (32KB)


Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».