Возможности сервиса
Самое сложное в проекте:
1. Нужно было не только создать цифровой сервис для клиентов, но и организовать порядок во внутренних системах учета, с которым он будет интегрирован. А это более 19 различных систем - ERP, ECM, CRM и прочие.
2. Понять какой нужен функционал и создать интуитивный пользовательский интерфейс, через который клиент в удобном для него виде получит доступ к нужной ему информации во всех этих системах.
3. Сервис должен работать быстро и стабильно, обрабатывая миллионы документов и сотни запросов за нескольких секунд.
Прежде чем начать разработку продукта мы обратились к пользователям внешним (т.е. клиентам) и внутренним (т.е. сотрудникам из различных функциональных направлений задействованных в обслуживании клиента). Мы составили карту - «Карта влияний и преемственности». Эта карта включает в себя отражение влияния выявленных проблемных зон в бизнес-процессах с ожиданиями клиентов.
В результат был разработан не один продукт, а целая экосистема цифровых сервисов, в основе которых стремление к обоюдной операционной эффективности взаимодействия во всех точках касания. Это такие цифровые сервисы, как “Кабинет клиента ОМК”, “Сертификаты”, торговая площадка “Аукционы” , Интернет-магазин “Маркет”, сервис для управление логистикой - “Тарифы”, мониторинг ошибок “Административная панель” и другие.
Это проект в металлургии, который полностью разработан на российском и open source ПО. Проект по цифровой трансформации задает стандарт во взаимодействии с клиентами на металлургическом рынке.
Экосистема цифровых сервисов ОМК принципиально отличается от других решений в тяжелой промышленности:
1. User-Friendly интерфейсом - зачастую не характерным для B2B-систем. Обслуживание через цифровые сервисы ОМК такое же простое, как в цифровых сервисах в банке, ритейле или телекоме, не смотря на сложность процессов, «громоздкость» внутренних систем и объема данных.
2. Развитие цифровых сервисов строилось не с позиции монетизации, а с позиции улучшения клиентского опыта взаимодействия с клиентами. Поэтому в короткий срок удалось добиться высокой востребованности системы.
Технические особенности проекта:
Первый цифровой сервис для обслуживания клиентов в металлургической области, основанный на микросервисной архитектуре, имея под собой стек: PHP, Python, Bitrix, Laravel, JavaScript, HTML, CSS, API REST (JSON), TWIG,
Node.js, RabbitMQ, Elasticsearch, Logstash, Kibana, MySQL, PostgreSQL, Redis, Memcached, виртуализация VMware, Контейнеризация Docker, мониторинг prometheus+grafana, Apache skywalking, SSO (SAML), Profiler for Laravel, Яндекс танк, Swagger.
Множество интеграций с внутренними и внешними сервисами SAP ERP, SAP NetWeaver, ECM-системой «Саперион», CRM, Transporeon, 1С Предприятие, RZD, Яндекс API, Mailchimp, Active Directory, MDM. Единая учетная запись для всех пользователей (внутренних и внешних) на всех клиентских сервисах.
Ввиду того, что требовалось осуществлять непрерывный обмен данными между множеством учетных систем и сервисов, а также учитывать активное взаимодействие пользователей с системой (например, одновременная выгрузка множества документов) была произведена мощная оптимизация архитектуры и инфраструктуры:
1. Произведена оптимизация структур данных по документам, и их фоновой обработки, что снизило нагрузку на СХД. Благодаря оптимизации кластер СУБД обрабатывает более 800 запросов в секунду при объеме БД в 100 Гбайт.
2. Увеличена скорость загрузки страниц за счет переработки frontend и оптимизации статичных ресурсов, время загрузки страницы было сокращено до 1,5 секунд.
3. Переход к новой мажорной версии elasticsearch позволило оптимизировать агрегацию данных и ускорило работу связанных интерфейсов (блоков статистики и фильтров), результатом чего явилась возможность производить выборку данных более чем из 5 млн документов менее чем за 3 секунды.
4. С введением ELK стека для хранения полезных логов с долгосрочным хранением появилась возможность снизить объем логов в БД и файлах, что положительно сказалось на скорости резервирования системы и доступе к логам. Так, например, хранятся события, включающие в себя подробное логирование интеграционных потоков и системных сервисов. Кластер ELK позволяет оперировать объемными логами в истории, объем индексов составляет более 200 гбайт, а пиковая скорость индексации составляет свыше 8 тысяч элементов в секунду.
5. Синхронные запросы частично переведены на очередь обработки задач, что позволило некоторым интерфейсам не ожидать ответа от смежных систем, а сразу продолжить работу после последнего взаимодействия. Так, например, использование очередей высвободило в среднем до 30% вычислительных мощностей, а также позволило оперировать очередями более 10 тыс. сообщений в секунду, и минимизировать время подготовки необходимых данных, ограничив итоговую отзывчивость сервиса исключительно скоростью соединения клиента.