4.02 Архитектурная схема
Описание архитектуры
Система управления ИТ-активами SkyV ITAM реализована в микросервисной архитектуре. В качестве среды выполнения может выступать любая Docker-совместимая система (в т.ч. локально Docker, так и инфраструктура на базе Kubernetes или аналогичных).
На следующей схеме приводится обобщенная архитектура типового развертывания SkyV ITAM в части состава модулей (при развертывании указанные сервисы могут реплицироваться и распределяться между различными уровнями, состав компонент может отличаться).
Архитектурная схема
Основные модули SkyV ITAM
№ | Наименование | Описание |
---|---|---|
1 | Keyсloak service | Данный сервис используется в качестве IDM/IDP сервиса в проекте. |
2 | Api Manager | Сервис API принимает запросы от фронта и отправляет сообщения в RabbitMQ ожидая ответы сервисов. |
3 | Sv-itam-front | - Фронтенд портала (VueJS); - взаимодействие с бэкендом для получения данных; - отображение данных в UХ портала. |
4 | Nginx | Обратный прокси-сервер, развернутый в виде контейнера и обеспечивающий следующие функции: - публикацию ресурсов для доступа по протоколам HTTP и HTTPS для доступа пользователей и администраторов к компонентам ITAM; - доступ к сервису Apache Superset путем проксирования запросов пользователей и администраторов на сервер Apache Superset. |
5 | Apache Superset | Сервер Apache Superset - платформа для визуализации данных и аналитики бизнеса, которая позволяет пользователям создавать дашборды и отчеты на основе данных, имеющихся в БД сервера ITAM. |
6 | AssetService | Cервис подписывается на события обменника asset.service в RabbitMQ и отправляет в ответ запрашиваемые данные в сервис ApiManager. |
7 | RabbitMQ | RabbitMQ – это брокер сообщений с открытым исходным кодом, который реализует протокол AMQP (Advanced Message Queuing Protocol). Применяется в системах для асинхронной интеграции, где требуется гибкая и надежная маршрутизация сообщений. |
8 | File Service | Сервис обработки запросов на работу с файловыми объектами. Хранилищем является объектное хранилище на базе открытого ПО Minio. |
9 | Neo4j | Графовая система управления базами данных с открытым исходным кодом, реализованная на Java. |
10 | AuditService | Сервис AuditManager собирает сообщения по изменению всех сущностей и сохраняет их в БД. |
11 | Calculating indicators service | Сервис осуществляет расчет атрибутов активов по настроенным правилам расчета (общее количество связей и др.) |
12 | Camunda service | Сервис на базе opensource решения Camunda обеспечивает возможность настройки бизнес-процессов и последующего их исполнения системой. Используется для настройки логики взаимосвязанного дискаверинга различными агентами и настройки иной логики. |
13 | DictionaryService | Сервис обеспечивает ведение нормативно-справочной информации. |
14 | Report service | Сервис обеспечивает наполнение аналитической базы данных, а также формирование отчетов, печатных форм. |
15 | Business Rule service | Сервис обеспечивает возможность настройки событийных правил – в т.ч. отправка уведомлений, запуск бизнес-процессов по событию и др. |
16 | Кластер PostgreSQL | Хранилище данных, представленное в виде кластер PostgreSQL, собранного в виде активной и пассивной ноды. |
17 | MongoDB | Документоориентированная система управления базами данных, не требующая описания схемы таблиц. Служит для промежуточного хранения данных, получаемых от источников данных. |
18 | WorkerService | Сервис сбора данных с объектов с помощью протокола SSH, WMI или SNMP. |
19 | DiscoveryService | Сервис осуществляет маппинг и преобразование данных, получаемых из интегрируемых системы. |