Эксперт: Александр Виноградов, руководитель платформы Tarantool
ИТ-инфраструктура крупных компаний формировалась в течение последних 15–20 лет. Часто она основана на устаревших системах, их называют «легаси» или наследственные ИТ. Есть три критерия, по которым можно узнать такое программное обеспечение.
- Это самописная система, разработанная с использованием устаревших технологий — например, с помощью уже не применяемых языков программирования. Она может иметь сложную архитектуру, которая не соответствует современным стандартам разработки. Поддерживать работу такой системы может ограниченный круг специалистов, и с годами экспертов становится все меньше.
- К легаси можно отнести системы, которые представляют из себя ИТ-колодец — это замкнутые системы, предназначенные для выполнения ограниченного круга задач и не приспособленные для кросс-функционального взаимодействия с другими приложениями.
- Легаси-системы отражают устаревший бизнес-процесс и не позволяют его поменять. Например, отразить новый документооборот или другую последовательность действий.
Устаревшими ИТ чаще всего бывают автоматизированные банковские системы (АБС), программы для управления бизнес-процессами (ERP) и отношениями с клиентами (CRM), биллинговые и другие системы. Легаси могут обслуживать интернет-магазины, онлайн-банкинг, мобильные приложения и внутренние сервисы для бизнеса — интеграции с колл-центром, корпоративный портал, программы лояльности, системы аналитики.
Что плохого в легаси?
Устаревшие ИТ — действительно серьезная проблема для бизнеса.
Главная угроза легаси-систем для бизнеса — это возможная остановка операционной деятельности, которая может привести к прямым и косвенным убыткам. При этом проблема может затронуть не только саму компанию, но и ее партнеров. Так, отказ операционной среды в банке может вызвать цепочку проблем — корпоративные клиенты не смогут оплачивать счета, что приостановит отгрузку и доставку товаров на склады и в магазины.
Есть и другие риски. Устаревшие ИТ страдают низкой производительностью. Они, как правило, заточены под работу офлайн-процессов и не справляются с поддержкой операций, требующих обработки большого количества запросов в режиме реального времени. А именно это необходимо для функционирования современных сервисов.
При этом растет количество данных, которые использует бизнес, а также число цифровых проектов, которые запускают компании. Это усугубляет проблему с производительностью систем — нагрузка растет, а возможности остаются прежними. Цифровая реальность такова, что долгий отклик системы — интернет-магазина или банковского приложения — создает негативный пользовательский опыт и в конечном итоге приводит к оттоку клиентов.
Как бороться с проблемой?
Отказаться от легаси-систем быстро невозможно. Перестройка ИТ-инфраструктуры компаний — процесс медленный и трудозатратный.
Например, интернет-магазины некоторых крупных ретейлеров используют монолитную архитектуру, при которой все части приложения неразделимы и связаны между собой. Чтобы добавить новую возможность, нужно обновлять приложение полностью. Если перестает работать одна функция — останавливается все приложение. Соответственно, высоки и риски для бизнеса: каждый сбой в работе сервиса — это финансовые потери.
Ретейлеры начинают «распиливать» монолиты, переходя на микросервисную архитектуру и современные языки программирования. В этом случае приложение состоит из множества «кубиков» — микросервисов, которые автономны и самодостаточны. При такой архитектуре быстрее и проще добавлять новые функции, а если в какой-то части возникнет проблема, приложение продолжит работать.
Это необходимые фундаментальные изменения. Но их динамика не соответствует скорости, с которой компании должны запускать новые сервисы и развивать уже работающие. Новую систему нужно разработать, протестировать, убедиться в ее работоспособности, интегрировать с другими системами. А затем постепенно, «кусками» переводить процессы на новые ИТ.
Есть еще один способ повысить производительность систем — использовать современные технологии, обеспечивающие быструю передачу данных: создавать промежуточный слой между корневыми системами и цифровыми сервисами, который ускоряет работу систем. Такую роль может выполнять in-memory платформа. Во-первых, она хранит данные в оперативной памяти — более быстрого способа обработки данных на рынке не существует. Во-вторых, платформа обеспечивает высокую скорость передачи данных — процесс записи происходит не последовательно, а потоком. Таким образом, обеспечивается высокая производительность систем.
Такой путь выбрал «Магнит», когда запускал доставку своих продуктов через Delivery Club. Клиенты сервиса должны в режиме реального времени видеть, какие позиции есть в наличии в выбранном магазине. В проекте важно избежать сбоев из-за повышенной нагрузки на систему и ситуации, когда покупатель положил в корзину товар, которого нет на складе. Чтобы моментально передавать данные из системы учета ретейлера в сервис доставки, использовали in-memory платформу — она стала промежуточным слоем между информационной системой «Магнита» и приложением Delivery Club.
В Газпромбанке система на базе in-memory технологий кэширует наиболее востребованные данные из автоматизированной банковской системы (информацию по картам, вкладам, счетам, кредитам клиентов) и предоставляет их сотрудникам, обслуживающим клиентов в контактном центре и офисе. Такое решение позволило в 50 раз ускорить работу внутренних систем. Если раньше на получение доступа к данным клиентов требовалось до пяти секунд, то теперь — всего 100 миллисекунд.
При этом важно понимать, что ускорение инфраструктуры с помощью in-memory технологий — это способ решить проблему «здесь и сейчас», но он не исключает плановую модернизацию ИТ в компании, а позволяет проектировать перестройку инфраструктуры в рабочем порядке и без спешки.
Рынок in-memory решений
На рынке представлены разные платформы класса in-memory — проприетарные (лицензионные) продукты, решения с открытым кодом, а также их облачные и enterprise-версии.
Из лицензионных решений можно отметить GigaSpaces. Существенно шире предложение в сегменте Open Source: Apache Ignite (GridGane), Hazelcast, Redis, Tarantool. Два последних продукта доступны в качестве облачных сервисов, что позволяет минимизировать усилия по разработке и настройке решения.