Приветствую! Меня зовут Владимир Суровцев, я руковожу управлением развития внешних клиентских сервисов на Московской бирже. В нашем управлении созданы и развиваются:
сайты интернет-представительства, главный их них - https://www.moex.com;
личные кабинеты корпоративных клиентов https://cabinet.moex.com;
образовательная платформа, с помощью которой была создана Школа Московской Биржи - https://school.moex.com;
платформа цифрового опыта (DXP);
low-code платформа для построения UI;
платформа управления цифровыми активами (ECM/DAM), на базе которой мы создали электронный архив документов - о нем и пойдет сегодня речь.
До появления единого электронного архива документов, в компании развивались локальные хранилища в разных технологических решениях с разными зависимостями как от внутренних ресурсов, так и от внешних. Такой подход был распространен повсеместно: по мере развития систем, работающих с документами, рядом с ними (а то и в них), обязательно появлялось место для прихранивания бинарников. Не говоря уже о том, что все атрибуты по документам были доступны только в системе, которая первая стала работать с ним. Более того, разные подразделения могли запрашивать и обрабатывать одни и те же документы от клиентов, что способствовало ухудшению не только employee, но и customer experience. Понятно было, чем дольше мы с этим живем, тем больше накапливаем долги, с которыми нужно будет разбираться. А самое главное - эти долги можно продолжать накапливать, пока мы не будет готовы затронуть customer experience. В итоге отрицательное влияние на опыт клиента оказалось точкой, с которой что-то нужно было делать.
Перед нами встала задача свести все документы компаний группы в одном месте для оперативного доступа к одной единице цифрового образа документа. Ну, раз к одной единице, понятно, что нужно устранить и боль с разъехавшимися дублями, запрашиваемыми от одних и тех же корпоративных клиентов в разные точки группы. Плюс к тому, обеспечить сквозной поиск, историю изменений, вложенности, уровни доступа и хранения, и конечно, расширяемый атрибутный состав.
Вроде всё, да нет: компания существует уже давно, накоплен огромный цифровой опыт, объем цифровых активов, образы существующих документов, программного обеспечения по разным подразделениями, которые их обрабатывают, новые типы документов, которые стоят в очередь на перевод в электронный вид.
И вся эта история приходит ко мне в формате: а не посмотрел бы ты на это? Кстати, если ты готов, нужна жизнеспособная концепция через 2 месяца на архкоме.
У меня даже не было мыслей, что ответ может быть каким-то другим. Непонятная, жутко амбициозная задача с короткими сроками - конечно, готов ?
Итак, как мы создали электронный архив документов в компании Московская Биржа.
Поиск решений
Ключевым фактором успеха оказалась поддержка со стороны команды: нашлись такие же энтузиасты, и нам хватило пары недель для четкого понимания, как это должно быть.
Первым делом, мы сами прошерстили рынок таких решений. На этом этапе познакомились с таким классом ПО как 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 - не с кем поговорить ?. В России нет поставщиков и контента по этой платформе. Но все же количество плюсов явно перевешивало,
поэтому мы отрисовали концепцию, представили ее на архкоме и...
Нам поверили! С осторожностью, с ограничениями, но поверили! Договорились, что мы можем использовать это ПО при первичной поддержке со стороны самого производителя, можем разрабатывать прототип и параллельно вести переговоры по получению Enterprise подписки.
Прототипирование и MVP
Для прототипа нам необходимо было максимально быстро и дешево развернуть ПО в ландшафте IT с минимальными серверными ресурсами. Мы взяли легковесную, компактную архитектуру ECM с использованием Redis-а:
Имейте в виду, что такая архитектура годится только для прототипов и 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ом:
И получили конечный набор расширяемых функций:
конфигурируемые метаданные;
вложенность документов и их образов, папок, типов объектов;
версионирование всего и вся;
интеграция с текущими ПО компании:
операторские интерфейсы;
криптосистемы;
корпоративные сервисы аутентификации;
текущие системы ЭДО;
станция сканирования;
логирование и аудит в соответствии с требованиями ИБ;
хранение данных в разных сетевых сегментах;
сквозной поиск.
К маю этого года мы провели всевозможные тесты, завершили миграцию всех MVP и предложили внутренним подразделениям целевое решение как сервис - бери и пользуйся без дополнительных инвестиций. Любые объемы, уровни поддержки и дальнейшее развитие уже заложены в сопровождение системы.
Немного статистики
Сейчас в Электронном архиве с такой конфигурацией обрабатывается порядка 10 тысяч документов в день, пиковая нагрузка была 88 тысяч документов. Всего в архиве хранится порядка 7 млн документов от различных департаментов, и это всего 0,5 Терабайт. На ближайшие полгода у нас уже есть заказы на перенос из legacy решений документов объемом 3,5 Тб. Т. е. на конец года мы выходим на 50 млн документов, и это только начало для всей Группы компаний.
При этом каждое событие системы логируется в ELK и передается в подразделение инфо безопасности. Вам может показаться фантастическим, но за год эксплуатации по системе не было зарегистрировано ни одного инцидента.
Главный вывод за 1,5 года реализации единого корпоративного электронного архива: opensource-продукты потенциально несут в себе большую ценность, но, чтобы ей воспользоваться, нужно инвестировать время команды в исследования, отстаивать их результаты и верить в успех.
И о планах
По сути, все только начинается ?
У нас в планах:
Собственный Low-code конфигуратор (аналог Nuxeo Studio).
Продуктовый подход к разработке интерфейса.
Автоматизация процесса распознавания и проверки подписи документов.
Тесная интеграция с DXP платформой и платформой DevOps.
Трансформация Электронного Архива документов в корпоративную платформу управления цифровыми активами.
Обязательно расскажем о новых результатах, а сейчас с удовольствием ответим на ваши вопросы.
А если у вашей компании появится (а может, уже появился) интерес к такому решению, готовы поделиться накопленным опытом более подробно. Ждём в комментариях или в личке :)