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

  • сайты интернет-представительства, главный их них - 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

Первым делом, мы сами прошерстили рынок таких решений. На этом этапе познакомились с таким классом ПО как 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 в компании

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

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

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

Компактная архитектура 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

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

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

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

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

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

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

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

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

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

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

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

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

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

К маю этого года мы провели всевозможные тесты, завершили миграцию всех 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. Трансформация Электронного Архива документов в корпоративную платформу управления цифровыми активами.

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

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