Система ELMA365 является микросервисным решением, построенным на базе следующих технологий: Golang, NodeJS, Angular. Используемые СУБД: PostgreSQL, MongoDB. В качестве шины обмена событий и данных используется RabbitMQ. Для кеширования данных быстрого доступа используется Valkey или Redis. Используется контейнеризация на базе Docker, а также оркестратор Kubernetes. Для хранения файлов используется объектное хранилище данных на базе S3 протокола.
Кластер ELMA365 может быть развёрнут на серверных мощностях клиента и быть доступен как в Internet, так и в Intranet.
Внешняя безопасность обеспечивается механизмом аутентификации пользователя системы токеном JWT и гибкой настройкой системы привилегий внутри системы. Внутренняя безопасность обеспечивается стандартными средствами безопасности используемых баз данных. Пароли и токены доступа хранятся в защищённом хранилище секретов Kubernetes.
Серверы PostgreSQL, MongoDB, RabbitMQ, Valkey или Redis и S3 включены в поставку инсталлятора ELMA365 On-Premises и могут быть установлены на одном физическом сервере клиента для ознакомления и тестирования продукта.
В редакции Enterprise предполагается несколько вариантов установки этих серверов:
- для тестирования и разработки можно установить вспомогательные компоненты на одном физическом сервере клиента;
- в продуктивной среде предполагается один из следующих вариантов:
- конфигурация, когда PostgreSQL, MongoDB и S3 устанавливаются на отдельных серверах;
- отказоустойчивая локальная архитектура для обеспечения повышенной надёжности компонентов хранения данных. Все работы по настройке отказоустойчивости этих сервисов остаются на стороне клиента.
Подробнее читайте в статье «Подготовка инфраструктуры ELMA365 On-Premises».
