2022/10/11 08:53:39

Платформа ELMA365 — инструмент для точной подгонки приложения под требования бизнеса


Содержание

Архитектура платформы

ELMA365 построена на микросервисной архитектуре и состоит примерно из 40 микросервисов, написанных на языке Go (Golang или Go Programming Language). Каждый из сервисов отвечает за определенный набор функций или даже за одну конкретную функцию. Выбор в пользу микросервисной архитектуры был сделан по трем основным причинам.

Во-первых, она обеспечивает отказоустойчивость: если упадет один сервис, остальные части системы останутся работоспособны. Во-вторых, эта архитектура дает легкую масштабируемость: когда один сервис испытывает чрезмерную нагрузку, его можно масштабировать без выделения лишних ресурсов для других компонентов. Установленная из коробки система может автоматически масштабировать микросервисы, адаптируясь под профиль нагрузки эксплуатанта. И третье преимущество — производительность. Результаты тестов производительности для различных сценариев использования и объемов нагрузок регулярно публикуются.

Однако, как у любой технологии, у решений на базе микросервисной архитектуры есть не только свои преимущества, но и свои ограничения.

thumb2

Преимущества и ограничения микросервисной архитектуры

Итак, микросервисные решения хорошо масштабируются и обеспечивают режим высокой доступности. Однако, чтобы насладиться этими преимуществами, приложение требуется правильно установить, корректно настроить и обеспечить мониторинг. Разработчики платформы постарались упростить эти процессы.

Система ELMA365 имеет несколько вариантов инсталляции, в их числе есть варианты, когда система устанавливается автоматически с помощью скрипта, а от пользователя требуется лишь указать простейшие настройки. В поставке класса Enterprise автоматически устанавливается система визуализации данных Grafana с несколькими преднастроенными дашбордами для удобства мониторинга. Система поддерживает и автоматическое масштабирование микросервисов в зависимости от нагрузки.

Свободная система визуализации данных Grafana — лишь одна из целого стека технологий на базе открытого ПО, использованных при построении платформы ELMA365.

Стек технологий

Фронтальная часть платформы (фронтенд) построена на Angular — это современная, открытая и свободная платформа для разработки веб-приложений. Бизнес-логика системы (бэкенд) написана, как уже говорилось выше, на Go (Golang) — это современный быстрый и многопоточный язык, с простым и понятным синтаксисом.

Система разворачивается на платформе для управления контейнеризованными приложениями Kubernetes. Это один из наиболее популярных инструментов на сегодняшний день. Его поддерживают большинство крупных облачных провайдеров, а кроме того инсталляция может быть развернута и на локальных мощностях.

В окружении приложения также задействованы две СУБД: PostgreSQL и MongoDB, брокер сообщений RabbitMQ, кэш-сервер Redis и файловое хранилище S3 Minio.

Выбор именно этих компонентов был сделан по следующим причинам:

  • широкая распространенность выбранных технологий;
  • возможности работы в кластерном варианте;
  • универсальность при разворачивании: решения могут быть установлены как на отдельные сервера, так и в облаке.

Важно и то, что все перечисленные решения являются открытым кодом (Open Source), что минимизирует зависимость от санкций.

Еще одна важная составляющая платформы ELMA365 — low-code-инструментарий, дающий заказчику возможность самостоятельного создания решений на базе платформы.

Low-code-составляющая

Большинство действий в системе настраиваются с помощью двух визуальных конструкторов – редактора виджетов и редактора бизнес-процессов. Они позволяют настроить пользовательский интерфейс и логику мышкой, по методу «бери и переноси» (drag-n-drop).

Легкость разработки обеспечивается и большим набором готовых компонентов в редакторах: преднастроенных виджетов, активити бизнес-процессов. Например, пользователю не обязательно писать скрипт, чтобы определить руководителя сотрудника или отобразить все связанные с объектом элементы, — такие действия уже заложены в платформу. Если требуется расширить логику, система умеет исполнять код TypeScript и таким образом можно вызвать скрипты точечно в процессах или в режиме реального времени на формах. Но и здесь используется low-code, и разработчику, как правило, не нужно ничего выдумывать. Для решения задач ELMA365 предоставляет набор инструментов (SDK), который очень хорошо описан в руководстве пользователя.

Что можно роботизировать

Low-code-инструменты — не единственная актуальная «фишка» платформы ELMA365: наряду со стандартной автоматизацией бизнес-процессов, система поддерживает роботизацию рутинных действий с помощью компонента ELMA RPA.

Для роботизации лучше всего подходят повторяемые, простые и стандартизируемые действия. Например, — потоковое сканирование и обработка документов, проверка информации на корректность, заполнение экранных форм.

Дизайн

По умолчанию приложения, разрабатываемые на платформе, имеют нейтральный дизайн и цветовую гамму. Механизмы навигации стандартны для современных веб-приложений и понятны пользователям. Почти все экранные формы имеют универсальную структуру и логику расположения элементов. Все вместе это позволяет пользователю быстро привыкнуть к интерфейсу и на каждой экранной форме интуитивно понимать, где искать требуемую функцию.

На основе таких же универсальных шаблонов проектируются интерфейсы в Low-code-редакторе. Но если разработчик решения все же захочет придать интерфейсу индивидуальность, фирменный стиль — поменять цветовую гамму или расположить элементы на формах по-своему, то система позволит сделать ему и это.

Безопасность

Система обеспечивает авторизацию на стороне сервера по JWT-токену, созданному на основе открытого стандарта JSON Web Token (JWT). Все соединения между сервисами осуществляются внутри кластера kubernetes по защищённым протоколам gRPC и HTTP. Для взаимодействия с сервисами кластера из внешнего мира используется тонкая конфигурация правил ingress в кластере и доступ только к выделенным сервисам по протоколу HTTP и WebSocket.

Для каждого объекта внутри системы (например, справочника) может быть настроена матрица доступа, причем права могут выдаваться пользователю и динамически, в том числе. Работают также настройки безопасности при входе пользователей: политика паролей и двойная авторизация. Кроме того, ведется журнал аудита безопасности: действия пользователей логируются и записываются в отдельную базу данных.

Зоны ответственности вендора и заказчика различны. Вендор обеспечивает безопасность самой платформы, а вопросы обеспечения безопасности используемой серверной операционной системы, провайдера виртуализации или физического сервера являются зоной ответственности клиента. Также заказчик отвечает и за правильное администрирование сети, в которой работает платформа.

Что такое и для чего ELMA365 Private Cloud

ELMA365 Private Cloud — это вариант поставки платформы ELMA365 для крупных компаний и холдингов корпоративного сегмента. В рамках данной поставки клиент получает возможность решить множество задач, таких как:

  • разнесение бизнес-единиц по независимым источникам вычислительных ресурсов (тенантам);
  • распределение уникальных внутренних решений между бизнес-единицами за счёт модуля ELMA365 private store;
  • распределение нагрузки на систему через выделение отдельных тенантов;
  • разнесение кластеров/тенантов по различным географическим зонам с учётом особенностей местного законодательства по хранению персональных данных (Закона РФ ФЗ-152, регламента ЕС GDPR и др.).

Лицензионная политика

Лицензии на платформу ELMA365 бывают двух видов: именные и конкурентные. Именная лицензия закрепляется за конкретным пользователем, что обеспечивает ему постоянный доступ в систему. Конкурентные же лицензии не привязываются к конкретным пользователям. Они определяют общее количество сотрудников, которые могут работать в системе одновременно. Выбрать и определить пользователей, которым будут доступны именные лицензии, может администратор из интерфейса системы.

Поддержка решений

В рамках технической поддержки решения на площадке заказчика предоставляются консультации по базовым возможностям системы, осуществляются локализация и исправление ошибок платформы. Время реакции на обращение составляет не более 8 рабочих часов, время решения — не более 16. В случае, когда инцидент можно устранить только посредством будущих доработок системы, дата выпуска исправления определяется в соответствии с общим планом разработки программного продукта.

Для облачной поставки системы обеспечивается доступность в режиме 24/7, а процент времени безотказной работы должен составлять не менее 99,95 % в течение срока предоставления подписки.

Технологические достижения

В начале этого года была выпущена дорожная карта на год вперед, зафиксировав в ней время выпуска релизов. И 2022 год стал для ELMA365 годом динамичного развитие продукта, а Low-code-компонента остается главным инструментом, «ответственным» за идеально точную подгонку решений под бизнес-требования компании.

Важными новшествами ELMA365 в области бизнес-процессов являются описание моделирования процессов принятия решений на понятном для бизнес-пользователей языке (Decision Model and Notation), аналитика бизнес-процессов и proxy-приложения.

Основа любой Low-code системы — это объектная модель, и в платформе ELMA365 эту роль выполняют корпоративные приложения. На базе приложений были реализованы CRM-система, ChatDesk/ServiceDesk. Специалисты компании продолжают функционально насыщать приложения, делать их еще производительнее и удобнее как для Low-code-разработчиков, так и для конечных пользователей.