Визуализация архитектур информационных систем, основанных на микросервисах, с использованием данных 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)