Нефункциональные особенности#
Конфигурация для достижения описанных нефункциональных характеристик должна соответствовать описанной в разделе Аппаратное обеспечение
Нефункциональные характеристики продукта#
Ниже приведены характеристики продукта, которые достигаются на конфигурации из раздела Аппаратные требования. Выполнение заявленных НФТ проверялось в конфигурации Platform V DropApp (K8S).
Операция |
Интенсивность, операций/секунду |
SLA по времени отклика (95 персентиль), с |
Средний размер запроса, байт |
Средний размер ответа, байт |
|---|---|---|---|---|
01_CreateUser |
~1.5 |
Требований по SLA не предъявлялось |
~660 |
~1472 |
02_AssigneRole |
~1.5 |
Требований по SLA не предъявлялось |
~530 |
~761 |
03_UnassigneRole |
~1.5 |
Требований по SLA не предъявлялось |
~540 |
~767 |
04_Change_Pwd |
~1.5 |
Требований по SLA не предъявлялось |
~540 |
~1212 |
05_DisableUser |
~1.5 |
Требований по SLA не предъявлялось |
~3557 |
~707 |
06_EnableUser |
~1.5 |
Требований по SLA не предъявлялось |
~3469 |
~707 |
Удобство использования#
№ |
Содержание |
Примечания |
|---|---|---|
1 |
Модифицируемость |
IDMX поддерживает возможность подключения кастомных коннекторов, совместимых с фреймворком ConnID. Также для IDMX можно разрабатывать и внедрять плагины на Java для расширения функциональности |
2 |
Легкость переноса |
IDMX разворачивается как Docker-контейнер, параметры настройки вынесены в ConfigMap, а конфигурационные файлы IDMX могут быть импортированы в инсталляцию из xml-формата, что позволяет легко перенести инсталляцию с одного стенда на другой |
Доступность#
Доступность сервиса зависит от клиентской конфигурации и инфраструктуры, требований по SLA не предъявлялось.
Механизмы отказоустойчивости:
Горизонтальное масштабирование в Kubernetes.
Балансировка нагрузки через NGINX Ingress.
Активный healthcheck компонентов.
Устанавливаемость#
№ |
Содержание |
Примечания |
|---|---|---|
1 |
Скрипты установки |
IDMX разворачивается и обновляется одним из двух способов: при помощи Helm скриптов, поставляемых в дистрибутиве продукта, либо при помощи job установки или обновления компонента CDJE продукта Platform V DevOps Tools. |
Целостность#
№ |
Содержание |
Примечания |
|---|---|---|
1 |
Авторизация пользователей |
Требуется использование централизованных сервисов авторизации для авторизации пользователей: Platform V IAM SE |
2 |
Отказоустойчивость |
Отказоустойчивость обеспечивается средствами среды оркестрации контейнеризированных приложений |
3 |
Резервное копирование данных |
Резервное копирование обеспечивается средствами используемой системной СУБД (Platform V Pangolin SE или PostgreSQL) |
Производительность#
Коэффициент горизонтального масштабирования — 0,8
№ |
Содержание |
Примечания |
|---|---|---|
1 |
Масштабируемость |
IDMX разворачивается в среде оркестрации контейнеризированных приложений (Kubernetes/OpenShift), что обеспечивает динамическое вертикальное масштабирование ресурсов. IDMX также имеет кластерный режим работы, позволяющий масштабировать количество контейнеров, обрабатывающих задачи вместе |
2 |
Время отклика GUI |
Не более 600мс |
Производительность IDMX связанная с основной функциональностью продукта зависит от выделенных ресурсов, нагрузки и конфигурации ресурсов, сетевой инфраструктуры, задач и моделей данных, поэтому сложно привести универсальные показатели.
Производительность IDMX#
Производительность (количество обработанных аккаунтов в минуту) IDMX при выполнении операций на виртуальных тестовых данных, исключающая воздействие внешних факторов, была проверена на следующих сценариях:
Сценарии приведены в таблице ниже в нотации 3s-50m-3t-50m-50a-1500u, где:
s— количество ресурсов-источников данных, из которых IDMX импортирует учетные карточки пользователей;m— количество маппингов с одним и с множественными (пятью) значениями параметров (фактически50mозначает 100 маппингов, 50 одиночных, 50 множественных). Параметр может встречаться дважды, для входящих (из ресурса-источника в IDMX) и исходящих (из IDMX в целевые ресурсы) маппингов;t— количество целевых ресурсов, в которых IDMX создает учетные записи, привязанные к учетным карточкам пользователей;a— количество прямых назначений у каждого пользователя;u— количество аккаунтов в каждом ресурсе-источнике. Для обозначения тысяч может использоваться символkпосле цифр, например1ku— 1000 аккаунтов.
Ресурсы машины, на которой проверялись сценарии:
CPU — Intel Core i7-6700 (3.40 GHz) (4 ядра, 8 потоков);
RAM — 16 ГБ;
SSD — 500 ГБ.
При проверке сценариев JVM ядра IDMX не была ограничена в потребляемых ресурсах.
Сценарий |
1s-50m-0t-0m-0a-10ku |
1s-200m-0t-0m-0a-10ku |
1s-50m-5t-50m-0a-5ku |
1s-50m-5t-50m-100a-1ku |
3a-50m-3t-50m-50a-1500u |
|---|---|---|---|---|---|
Импорт аккаунтов в IDMX и последующий экспорт в целевые ресурсы, аккаунтов в минуту |
3064.0 |
920.0 |
717.0 |
241.2 |
506.0 |
Перерасчет данных в учетных карточках, аккаунтов в минуту |
6228.2 |
1194.8 |
1440.3 |
394.1 |
441.6 |
Производительность в end-to-end сценарии#
При тестировании на реальных (хранящихся в БД) данных, на производительность начинают влиять внешние факторы. Тестовая инсталляция IDMX была развернута в кластерном режиме в виде Docker-контейнеров в Kubernetes. Кластер IDMX в тесте имеет по одному узлу в двух пространствах имен.
Ресурсы каждого пространства Kubernetes:
2x Intel® Xeon® Processor E5-2697 v2 (2.70 GHz):
12 ядер / 24 потока;
30 МБ Cache.
158 ГБ RAM.
В каждом пространстве подняты следующие контейнеры:
Тестовый HR-ресурс. БД на PostgreSQL, содержащая 10 миллионов аккаунтов пользователей, 5000 организаций, 5000 групп, 20 миллионов связей аккаунт-группа (в среднем по 2 на пользователя).
Системная БД IDMX.
Контейнер IDMX в кластерном режиме.
БД, содержащая таблицы для 8 тестовых целевых ресурсов (7 с подключением через коннектор DBTable, 1 с подключением через коннектор ScriptedSQL).
Контейнер с системной БД IDMX ограничен по ресурсам до 6 CPU и 8 RAM. Контейнер IDMX не ограничен по ресурсам, но в параметрах JVM выставлен максимальный лимит на heap в 20 ГБ.
В задаче импорта данных из ресурсов установлены следующие параметры обработки:
2 обрабатываемых подзадачи (всего 4, так как два узла в кластере IDMX).
12 потоков обработки на подзадачу (всего 48).
Размер бакета (количество учетных записей в одной подзадаче) — 5000 учетных записей.
Производительность IDMX в таких условиях достигает 1450 операций в минуту.
Надежность#
№ |
Содержание |
Примечания |
|---|---|---|
1 |
Обновление компонентов без прерывания сервиса |
Rolling update обеспечивается средствами среды оркестрации контейнеризированных приложений |
2 |
Резервирование |
IDMX поддерживает возможность работы в кластерном режиме, где каждый узел кластера — один контейнер (pod) в пространстве имен Kubernetes |
3 |
Отказоустойчивость |
Отказоустойчивость обеспечивается средствами среды оркестрации контейнеризированных приложений |
Устойчивость#
№ |
Содержание |
Примечания |
|---|---|---|
1 |
Отказоустойчивость |
Отказоустойчивость обеспечивается средствами среды оркестрации контейнеризированных приложений |
2 |
Резервное копирование данных |
Резервное копирование обеспечивается средствами используемой системной СУБД (Platform V Pangolin SE или PostgreSQL) |
Безопасность#
№ |
Содержание |
Примечания |
|---|---|---|
1 |
Авторизация межсервисных вызовов |
Требуется использование централизованного сервиса авторизации при межсервисных вызовах API: Platform V Synapse Service Mesh (далее Istio) |
2 |
Аудит событий |
Разработана метамодель событий аудита с учетом требований ИБ в АС, и ведется их протоколирование с помощью компонента AUDT продукта Platform V Audit SE |
3 |
Авторизация пользователей |
Требуется использование централизованных сервисов авторизации для авторизации пользователей: Platform V IAM SE |
4 |
Шифрование данных |
IDMX шифрует данные учетных записей, отмеченные как секретные, при помещении их в системную БД IDMX. Для шифрования используется AES 256 бит. Также IDMX по умолчанию скрывает чувствительные данные, такие, как пароли, в логах, заменяя их на плейсхолдеры |
5 |
Защита каналов связи |
IDMX поставляется с возможностью сконфигурировать и подключить защиту соединений с другими системами по TLS 1.2 |
Масштабируемость#
№ |
Содержание |
Примечания |
|---|---|---|
1 |
Масштабируемость |
IDMX разворачивается в среде оркестрации контейнеризированных приложений (Kubernetes/OpenShift), что обеспечивает динамическое вертикальное масштабирование ресурсов. IDMX также имеет кластерный режим работы, позволяющий масштабировать количество контейнеров, обрабатывающих задачи вместе |