Визуализация архитектур информационных систем, основанных на микросервисах, с использованием данных OpenTelemetry

Обложка

Цитировать

Полный текст

Открытый доступ Открытый доступ
Доступ закрыт Доступ предоставлен
Доступ закрыт Только для подписчиков

Аннотация

В рамках представленной статьи обосновывается актуальность и необходимость решения задачи визуализации архитектуры информационных систем, основанных на микросервисах. Эта задача особо значима как для процесса разработки новых систем, так и для оптимизации работы уже функционирующих. Для предоставления комплексной и сбалансированной актуальной информации о структуре и взаимодействии микросервисов необходим подход, ориентированный на автоматический сбор и обработку информации о связях между микросервисами и их внутреннем устройстве в целях последующей визуализации архитектурных диаграмм. Авторами выявлено, что информацию достаточную для визуализации архитектуры предоставляют специализированные журналы трассировки программного обеспечения. В своей статье авторы более детально рассмотрели вопросы трассировки в контексте OpenTelemetry, проекта с открытым исходным кодом, предназначенного специально для сбора телеметрических данных от программного обеспечения и их последующего анализа. В качестве средства для визуализации архитектуры авторами предложена модель С4. Модель С4 – это относительный новый подход к моделированию программных систем, который предусматривает проработку и представление контекста, контейнеров, компонентов, кода и их взаимосвязей. Главной задачей, которую ставили перед собой авторы, является автоматизация процесса создания диаграмм модели С4 на основе данных, получаемых от OpenTelemetry. Такой подход значительно упростит процесс понимания структуры и динамики взаимодействия микросервисов внутри системы. Ключевым результатом исследования является разработка алгоритмов сбора и преобразование данных трассировки для создания диаграмм С4, а также создание соответствующего программного обеспечения реализующие эти алгоритмы.

Об авторах

Дмитрий Васильевич Корниенко

Елецкий государственный университет им. И.А. Бунина

Автор, ответственный за переписку.
Email: dmkornienko@mail.ru
ORCID iD: 0000-0002-3115-194X

кандидат физико-математических наук, доцент, доцент, кафедра математического моделирования, компьютерных технологий и информационной безопасности

Россия, Елец

Александр Валерьевич Никулин

Елецкий государственный университет им. И.А. Бунина

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

аспирант, кафедра математического моделирования, компьютерных технологий и информационной безопасности

Россия, Елец

Список литературы

  1. Надейкина Л.А., Черкасова Н.И. Создание приложений на основе микросервисов // Информатизация и связь. 2019. № 4. С. 107–112. 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. Вальдивия Х. А., Лора-Гонсалес А., Лимон К. Паттерны микросервисной архитектуры: многопрофильный обзор литературы // Труды Института системного программирования РАН. 2021. Т. 33. № 1. С. 81–96. 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. Романов В.Ю. Инструмент обратного проектирования и рефакторинга программного обеспечения, написанного на языке Java // International Journal of Open Information Technologies. 2013. Т. 1. № 8. С. 1–6.
  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. Рудометкин В.А. Мониторинг и поиск неисправностей в распределенных высоконагруженных системах // Кибернетика и программирование. 2020. № 2. С. 1–6. 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. Бойцов Б.В., Минакова О.В., Поцебнева И.В. Архитектурный подход к созданию программного инструментария для работы с оценочными средствами информационной системы по параметрам качества // Качество и жизнь. 2022. № 1 (33). С. 23–30. doi: 10.34214/2312-5209-2022-33-1-23-30.
  11. Китани С.С, Макаревич А.Д. Построение архитектуры программной системы для геоинформационного приложения дополненной реальности // Современная наука: актуальные проблемы теории и практики. Серия: Естественные и технические науки. 2023. № 6-2. С. 90–100. doi: 10.37882/2223-2982.2023.6-2.20.
  12. Намиот Д.Е., Романов В.Ю. 3D визуализация архитектуры и метрик программного обеспечения // Научная визуализация. 2018. Т. 10. № 5. С. 123–139. 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. Вьюгина А.А., Крошилина А.А. Визуализация работы клиент-серверной архитектуры с использованием делегатов на языке C# // Методы и средства обработки и хранения информации: Межвузовский сборник научных трудов / под ред. Б.В. Кострова. Рязань: Рязанский гос. радиотехнический ун-т им. В.Ф. Уткина, 2022. С. 140–144.

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML
2. Рис. 1. Этапы алгоритма визуализации архитектуры информационной системы, основанной на микросервисах с использованием OpenTelemetry

Скачать (17KB)
3. Рис. 2. Схема инфраструктуры с использования OpenTelemetry

Скачать (16KB)
4. Рис. 3. Пример элемента трассировки Zipkin

Скачать (90KB)
5. Рис. 4. Пример подграфа в несвязанном графе событий OpenTelementry

Скачать (72KB)
6. Рис. 5. Пример подготовки данных графа трассировки для визуализации архитектуры

Скачать (220KB)
7. Рис. 6. Пример шаблона для создания PlantUML диаграммы C4 с использованием шаблонизатора Mustache

Скачать (126KB)
8. Рис. 7. Диаграмма архитектуры прототипа системы маркетплейса в нотации С4 уровня контейнеров

Скачать (172KB)
9. Рис. 8. Диаграмма С4 первого уровня контекста для прототипа системы маркетплейса после применения алгоритма Label Propagation Clustering

Скачать (32KB)


Согласие на обработку персональных данных

 

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