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


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

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») на элемент с текстом «Принять и продолжить».