Для работы Creatio необходимо развернуть следующие обязательные компоненты (Рис. 1):
-
Веб-сервер, который также является сервером приложений Creatio.
-
Сервер баз данных с выбранной системой управления базами данных (СУБД).
-
Сервер хранения сессий (Redis), который также называют “сервером кэширования”.
К опциональным компонентам относятся:
-
Система контроля версий (SVN) — рекомендуется для сред разработки. SVN позволяет разработчикам управлять версиями и изменениями конфигурации Creatio (например, вернуться к предыдущей версии, объединить версии и т. д.).
-
Балансировщики нагрузки серверов приложений, баз данных и кэширования для работы в отказоустойчивом режиме (Рис. 2).
Определенная функциональность, например, глобальный поиск, дедупликация и машинное обучение, требует развертывания контейнеризации (виртуализации на уровне операционной системы). Внедрение контейнерной виртуализации целесообразно для обеспечения функционирования следующих сервисов Creatio:
-
машинное обучение;
-
обогащение данных;
-
облачный сервис рассылок;
-
глобальный поиск;
-
поиск и объединение дублей;
-
Email Listener.
Общие рекомендации
Все компоненты системы поддерживают функционирование в виртуальном окружении. Список поддерживаемых облачных/виртуальных платформ:
-
Amazon Web Services;
-
Microsoft Azure / Hyper-V;
-
VMware vCloud Director / vSphere.
Активные экземпляры компонентов системы должны быть размещены в одной локации (датацентр / серверное помещение / офисное здание и т.д.). Допустимо размещение резервных компонентов в удаленных локациях при реализации защиты от катастрофических событий.
Все компоненты должны работать в предназначенных для них операционных системах. Совмещение компонентов допустимо, но не рекомендуется.
Для организации кластера СУБД может использоваться как общее файловое хранилище, так и раздельное дисковое пространство узлов кластера.
Сервер системы контроля версий (SVN) является необязательным компонентом. Он нужен, только если планируется ведение версионности изменений конфигурации.
Балансировщик нагрузки является необязательным компонентом, который может понадобиться, если:
-
предполагается повышенная сетевая нагрузка на серверы приложений;
-
серверы приложений развернуты в отказоустойчивой конфигурации (веб-фермы).
Балансировщик может быть аппаратным или программным. Для работы в отказоустойчивом режиме используется балансировщик HTTP/HTTPS-трафика с поддержкой протокола WebSocket. Работа приложения тестировалась на программных балансировщиках нагрузки HAproxy и MS ARR (Microsoft Advanced Request Routing). Известны случаи успешного использования других балансировщиков, например, Citrix, Cisco, NginX, FortiGate.
Каналы связи
IIS — SQL:
-
пропускная способность — 10Мбит/с на 100 активных пользователей;
-
задержки не более 15–20 мс.
IIS — пользователь:
-
минимально 256 кбит/с на 1 активного пользователя;
-
рекомендуется 512 кбит/с на 1 активного пользователя;
-
формула: 30кБайт/с * (общее число одновременно работающих пользователей) * 10%.
Ввод/вывод:
-
100 IOPS на 1000 активных пользователей
-
SQL: 1000 IOPS на 1000 активных пользователей
Требования для отправки массовых email-рассылок (продукт Marketing Creatio):
Рекомендуемая скорость дисков БД зависит от планируемого количества получателей.
-
Аудитория до 1 млн получателей в одной рассылке или свыше 1 млн получателей в месяц — не менее 300 IOPS, < 8 ms.
-
Аудитория от 1 млн до 2 млн получателей в одной рассылке или свыше 3 млн получателей в месяц — не менее 500 IOPS, < 8 ms;
-
Аудитория от 2 млн до 5 млн получателей в одной рассылке или более 5 млн получателей в месяц — не менее 1000 IOPS, < 7 ms.
Требования к серверам для сервиса синхронизации Email Listener
В Email Listener обработка запросов производится отдельными обработчиками, каждый из которых одновременно обслуживает 40 активных почтовых ящиков.
Количество обработчиков указывается при установке микросервисного компонента и зависит от планового количества почтовых ящиков.
Для одного обработчика необходимо 30% процессорного времени 1ГГц процессора и 850 Мб оперативной памяти (дисковое хранилище не используется).
Требования к программному обеспечению
Компонент |
Программное обеспечение |
Веб-сервер (приложение на .NET Framework) |
Windows Server 2012 R2, 2016, 2019 IIS: .Net framework 4.7.2 |
Веб-сервер (приложение на .NET Core) |
Linux Debian 8-9 .NET Core версии 3.1. Kestrel GDI+ совместимый API для альтернативных Windows операционных систем. Библиотеки разработки и файлы заголовков для GNU C. |
Сервер баз данных (Windows) |
Windows Server 2012 R2, 2016, 2019 MSSQL 2016 и выше Oracle актуальных версий PostgreSQL 11 и выше |
Сервер баз данных (Linux) |
Linux Debian 8-9 PostgreSQL 11 и выше |
Сервер кэширования |
Linux Debian 8-9; Redis Server 4.0 и выше |
Сервер балансировщика нагрузки |
Linux Debian 8-9; HAproxy |
Сервер системы контроля версий (SVN) |
Linux Debian 8-9; SVN |
Контейнеры |
Linux Debian 8-9; Docker; Kubernetes |