Нефункциональные особенности#

Конфигурация для достижения описанных нефункциональных характеристик должна соответствовать описанной в разделе Аппаратное обеспечение

Нефункциональные характеристики продукта#

Ниже приведены характеристики продукта, которые достигаются на конфигурации из раздела Аппаратные требования. Выполнение заявленных НФТ проверялось в конфигурации 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 также имеет кластерный режим работы, позволяющий масштабировать количество контейнеров, обрабатывающих задачи вместе