Как мы создали единый электронный архив документов MOEX Group на основе open source +5


Приветствую! Меня зовут Владимир Суровцев, я руковожу управлением развития внешних клиентских сервисов на Московской бирже. В нашем управлении созданы и развиваются:

  • сайты интернет-представительства, главный их них - https://www.moex.com;

  • личные кабинеты корпоративных клиентов  https://cabinet.moex.com;

  • образовательная платформа, с помощью которой была создана Школа Московской Биржи - https://school.moex.com;

  • платформа цифрового опыта (DXP);

  • low-code платформа для построения UI;

  • платформа управления цифровыми активами (ECM/DAM), на базе которой мы создали электронный архив документов - о нем и пойдет сегодня речь.

До появления единого электронного архива документов, в компании развивались локальные хранилища в разных технологических решениях с разными зависимостями как от внутренних ресурсов, так и от внешних. Такой подход был распространен повсеместно: по мере развития систем, работающих с документами, рядом с ними (а то и в них), обязательно появлялось место для прихранивания бинарников. Не говоря уже о том, что все атрибуты по документам были доступны только в системе, которая первая стала работать с ним. Более того, разные подразделения могли запрашивать и обрабатывать одни и те же документы от клиентов, что способствовало ухудшению не только employee, но и customer experience. Понятно было, чем дольше мы с этим живем, тем больше накапливаем долги, с которыми нужно будет разбираться. А самое главное - эти долги можно продолжать накапливать, пока мы не будет готовы затронуть customer experience. В итоге отрицательное влияние на опыт клиента оказалось точкой, с которой что-то нужно было делать.

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

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

И вся эта история приходит ко мне в формате: а не посмотрел бы ты на это? Кстати, если ты готов, нужна жизнеспособная концепция через 2 месяца на архкоме.

У меня даже не было мыслей, что ответ может быть каким-то другим. Непонятная, жутко амбициозная задача с короткими сроками - конечно, готов ????

Итак, как мы создали электронный архив документов в компании Московская Биржа.

Поиск решений

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

Dream Team
Dream Team

Первым делом, мы сами прошерстили рынок таких решений. На этом этапе познакомились с таким классом ПО как Enterprise Content Management (ECM), системами управления корпоративным контентом. Посмотрели на решения и российского рынка, и зарубежного. Поняли, что существует множество проприетарных решений и совсем небольшое число открытых.

Мало того, большинство российских поставщиков использовали в своих системах открытый зарубежный софт Alfresco. Да-да, люди из этой компании сделали огромный вклад в развитие корпоративных систем по всему миру. Помимо того, что на основе их решений появилась львиная доля российских компаний в секторе ЭДО, практически в каждой компании стоит платформа автоматизации бизнес-процессов (BPM) Camunda, форк от системы BPM Activiti, которая до сих пор развивается в Alfresco.

Ну да ладно, хватит расхваливать Alfresco - тем более, что мы не взяли их решение за базис ????. Конечно, мы собрали, установили и протестировали Alfresco ECM Community версию, но все-таки это скорее промо, чем реальное решение для корпорации. Для наших целей нужна была Alfresco ECM Enterprise по подписке, где поддерживалось горизонтальное масштабирование. И мы стали смотреть прямых конкурентов Alfresco - Hyland, Nuxeo.

Nuxeo тоже предлагала рынку решение с открытым кодом, при этом версии Community и Enterprise оказались одинаковыми Единственная разница в том, что в Enterprise-подписке новая версия оказывалась быстрее на 3 месяца, также появлялась возможность использования low-code платформы Nuxeo Studio.

При этом, когда мы протестировали под нагрузкой Alfresco ECM Community и Nuxeo ECM Community, решение от Nuxeo оказалось устойчивей и быстрее в разы. Единственный недостаток Nuxeo - не с кем поговорить ????. В России нет поставщиков и контента по этой платформе. Но все же количество плюсов явно перевешивало,

Два прекрасных решения ECM от HYLAND
Два прекрасных решения ECM от HYLAND

поэтому мы отрисовали концепцию, представили ее на архкоме и...

Концептуальная схема ECM в компании
Концептуальная схема ECM в компании

Нам поверили! С осторожностью, с ограничениями, но поверили! Договорились, что мы можем использовать это ПО при первичной поддержке со стороны самого производителя, можем разрабатывать прототип и параллельно вести переговоры по получению Enterprise подписки.

Прототипирование и MVP

Для прототипа нам необходимо было максимально быстро и дешево развернуть ПО в ландшафте IT с минимальными серверными ресурсами. Мы взяли легковесную, компактную архитектуру ECM с использованием Redis-а:

Компактная архитектура ECM Nuxeo
Компактная архитектура ECM Nuxeo

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

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

На полноценную реализацию (oт прототипа до результатов по MVP) у нас ушло порядка трёх месяцев Все это время мы планово вели переговоры с производителями Nuxeo ECM по получению Enterprise подписки (а она складывается очень индивидуально). При этом постепенно осознавали, что справляемся и без нее (мы сразу пошли путем сборки образов в инфраструктуре компании из исходных кодов, что сыграло нам на руку в текущих реалиях).

В итоге Nuxeo вошла в состав холдинга Hyland, Alfresco - тоже, а услуги компании Hyland теперь вообще не могут быть предоставлены в нашем регионе. А мы к этому времени уже запустили процесс установки распределенной архитектуры ECM под целевой Единый электронный архив ????????????

Мы оказались на развилке: продолжать проект в текущей конфигурации или закрыть от греха подальше и начать всё заново? Сначала поэмоционировали, но все опасения исчезли, как только мы задали себе вопрос: что мы теряем и/или что мы недополучаем?

Что теряем?

Ничего. Лицензия Apache 2.0 дает ту свободу использования, которая нам нужна.

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

Что недополучаем?

1. Поддержку по подписке от производителя на 2 года.

Да, наращивать экспертизу в компании становится сложнее, но все-таки возможно - особенно с учетом того, что за время работы с прототипом и MVP мы уже начали наполнять багаж знаний. Достаточно минимально расширить команду, чтобы ускорить наполнение. Да, появляется задержка с доступом к новой версии (версия, которая появляется по Enterprise подписке, становится доступной в Community только через 3 месяца). Для нас это может быть существенно только с точки зрения безопасности, но поскольку мы планово проходим penetration тесты и у нас всегда есть состав для устранения выявленных уязвимостей, задержка в обновлении не критична.

2. Доступ к low-code платформе Nuxeo Studio. Да, теряем удобный drag-and-drop интерфейс для обогащения бизнес-функциями ECM, но базовые сценарии и настройки для работы с бизнес-потребностями уже внесены в корпоративный репозиторий в виде конфигурируемых файлов. Так что мы можем добавить описание и конфигурировать через инженера.

Проведя оперативно RFI, по результатам которого мы не обнаружили новых интересных предложений на рынке, а стоимости текущих проприетарных российских решений удивили своей быстрой реакцией на уход компании Hyland (Alfresco) с российского рынка, мы решили продолжить развитие электронного архива до целевого уровня с использованием ECM Nuxeo.

Неубиваемый единый электронной архив

Для разворачивания неубиваемого единого электронного архива под нужды всех подразделений компании, мы взяли за основу распределенную архитектуру с Kafkой и ZooKeeperом:

Распределенная архитектура ECM Nuxeo
Распределенная архитектура ECM Nuxeo

И получили конечный набор расширяемых функций:

  • конфигурируемые метаданные;

  • вложенность документов и их образов, папок, типов объектов;

  • версионирование всего и вся;

  • интеграция с текущими ПО компании:

  • операторские интерфейсы;

  • криптосистемы;

  • корпоративные сервисы аутентификации;

  • текущие системы ЭДО;

  • станция сканирования;

  • логирование и аудит в соответствии с требованиями ИБ;

  • хранение данных в разных сетевых сегментах;

  • сквозной поиск.

К маю этого года мы провели всевозможные тесты, завершили миграцию всех MVP и предложили внутренним подразделениям целевое решение как сервис - бери и пользуйся без дополнительных инвестиций. Любые объемы, уровни поддержки и дальнейшее развитие уже заложены в сопровождение системы.

Немного статистики

Сейчас в Электронном архиве с такой конфигурацией обрабатывается порядка 10 тысяч документов в день, пиковая нагрузка была 88 тысяч документов. Всего в архиве хранится порядка 7 млн документов от различных департаментов, и это всего 0,5 Терабайт. На ближайшие полгода у нас уже есть заказы на перенос из legacy решений документов объемом 3,5 Тб. Т. е. на конец года мы выходим на 50 млн документов, и это только начало для всей Группы компаний.

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

Главный вывод за 1,5 года реализации единого корпоративного электронного архива: opensource-продукты потенциально несут в себе большую ценность, но, чтобы ей воспользоваться, нужно инвестировать время команды в исследования, отстаивать их результаты и верить в успех.

И о планах

По сути, все только начинается ????

У нас в планах:

  1. Собственный Low-code конфигуратор (аналог Nuxeo Studio).

  2. Продуктовый подход к разработке интерфейса.

  3. Автоматизация процесса распознавания и проверки подписи документов.

  4. Тесная интеграция с DXP платформой и платформой DevOps.

  5. Трансформация Электронного Архива документов в корпоративную платформу управления цифровыми активами.

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

А если у вашей компании появится (а может, уже появился) интерес к такому решению, готовы поделиться накопленным опытом более подробно. Ждём в комментариях или в личке :)




Комментарии (2):

  1. manifest1
    /#24612528 / +2

    Отличный подход к проекту. Чтобы получить что-то стоящее, нужно инвестировать своё время и своей команды!

    Одних денег недостаточно

    • Moscow_Exchange
      /#24612920 / +1

      Спасибо за поддержку! В этом комментарии просто погордимся нашими крутыми ребятами :)