Масштабирование ECM–системы. О чем надо позаботиться при планировании внедрения

Vladimir Andreev
Docsvision
Published in
4 min readMar 21, 2019

Особенность использования ECM (CSP) платформ в современной организации в том, что практически 100 % сотрудников организации являются ее пользователями. По этому параметру ее можно сравнить разве что с корпоративной электронной почтой, которой пользуются все, кто работают за компьютером. В некоторых случаях доступ к документам, которыми управляет ECM-система, должны периодически получать даже те сотрудники, которые обычно не пользуются компьютером: например, в задачах ознакомления с должностными инструкциями или регламентами СМК через информационные киоски.

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

Еще одна особенность ECM-платформы — крайняя неравномерность ее использования. В ее загрузке явно прослеживается четкая «сезонность» — пиковые нагрузки в начале и конце рабочего дня, в даты перед окончанием контрольных периодов, например, в конце квартала и пр. Все пользователи хотят завершить невыполненные задания в рамках всех процессов обработки документов именно в это время — то есть нагрузка на систему может в различные моменты времени отличаться в десятки и даже сотни раз.

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

Ну и, наконец, ECM-система хранит очень много «объёмной» информации: файлы документов большого размера и многочисленные их версии, имиджи бумажных документов и даже мультимедийные данные, которые формируются в рамках бизнес-процесса работы с документами и должны сохраняться в системе для целей контроля.

Типовое внедрение ECM-системы обычно реализуется итеративно, начинается с автоматизации небольшого количества наиболее критичных задач, охватывает, как правило, небольшое количество пользователей и постепенно развивается в сторону расширения количества процессов, степени их автоматизации (т.е. усложнения), и соответственно увеличения количества вовлеченных пользователей. Этот процесс практически бесконечен.

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

Традиционные стратегии так называемого вертикального масштабирования — Upgrade оборудования при достижении пределов производительности — крайне дорогая и трудоемкая процедура, современные технологии предлагают более гибкие и удобные механизмы.

Кратко обозначим аспекты, на которые необходимо обратить внимание при планировании масштабирования.

1. Система должна обеспечивать возможность выделения отдельных сервисов, выполняющих базовые функции (например, хранение файлов, управление процессами, управление поиском, интеграционные сервисы, обеспечение веб и мобильного доступа и т.д.) и возможность размещения их на отдельных серверах в инфраструктуре ИТ-организации. Должна быть возможность постепенного выделения и размещения их на те или иные вычислительные устройства по мере необходимости.

2. Необходимо наличие средств непрерывного мониторинга использования вычислительных ресурсов (процессорной мощности, загрузку оперативной памяти и дискового пространства, использование сетевого трафика) каждым сервисом, с возможностью детального анализа каждого параметра использования.

3. Возможность независимой кластеризации (горизонтального масштабирования) каждого сервиса системы в случае необходимости. Например, если в системе увеличилось количество обслуживаемых бизнес-процессов и сервис управления процессами подошел к пределам своей производительности, то должна быть возможность добавить дополнительный сервер в кластер, что позволит перераспределить нагрузку между серверами в кластере.

4. Возможность размещения тех или иных сервисов системы на виртуальных машинах в рамках ЦОДа (как частных, так и облачных), что обеспечит возможность плавного увеличения потребляемой мощности для каждого сервиса без переконфигурирования аппаратных ресурсов. В частности, таким образом можно оптимально решить проблему пиковых моментов загрузки.

5. Максимальная декомпозиция хранилища структурированных данных и размещения различных сегментов данных в различных базах данных и на разных физических SQL серверах, включая:

  • Разделение хранения и организации доступа к оперативным и архивным данным, возможность непрерывного перевода данных из оперативного в архивное хранилище и обратно.
  • Разделение бизнес-данных и служебных данных (журналов доступа, временных данных и пр.)

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

7. Минимизация обращений пользователей системы к данным и выполнению сложных вычислительных операций с использованием различных стратегий кэширования данных (серверного и клиентского кэширования).

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

--

--