От производительности ИТ-инфраструктуры зависит скорость развития бизнеса. Часто цифровые потребности компаний растут быстрее, чем возможность наращивать мощности или модернизировать системное ПО. Рассмотрим, как программные решения класса промежуточного ПО (middleware) помогают устранить эту проблему.

Middleware — это программный слой между клиентскими запросами во внешнем интерфейсе и запрашиваемым внутренним ресурсом. Например, между мобильным приложением пользователя и базой данных корпорации. Этот вид софта используется в самых разных направлениях — от веб-серверов и баз данных до IIoT.

Аналитики Research and Markets оценивают мировой объем рынка middleware в 75 млрд. долл. в 2023 году. Это сравнимо с рынком систем Open Source. Сопоставимы и возможности, которые дает middleware для развития ИТ-систем.

Как потребности расходятся с возможностями

Тренд на использование промежуточного ПО возник в 2020 году, когда компании ударились в цифровизацию, чтобы сохранить клиентов и бизнес на фоне ковидных ограничений. Потребители быстро привыкли к онлайн-сервисам, омниканальности и быстрому отклику на свой запрос — их требования стали расти. Теперь постоянное совершенствование доступных функций — не конкурентное преимущество, а необходимость. Так, аналитики Gartner отнесли к обязательным факторам успешного клиентского сервиса в 2023 году digital-эффективность, мультиканальность, омниканальность и динамичность.

Если ИТ-инфраструктура не может обеспечить потребности бизнеса по функциональности и скорости, то это напрямую сказывается на конкурентоспособности компании и ее доходах.

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

Такая ситуация может возникнуть и у небольших компаний, и у корпораций. Например, чтобы запустить экспресс-доставку продуктов в 2020 году «Магнит» был вынужден срочно менять схему обновления данных: core-системы не удовлетворяли требованиям по скорости обработки запросов и обновления информации о наличии товаров. Компания использовала in-memory платформу в качестве middleware и реализовала проект за два месяца.

Middleware берет нагрузку на себя

Современный рынок middleware включает в себя множество решений для разных задач. Каждый тип таких решений имеет свои преимущества. Например, обеспечивает быстрый обмен с базой данных, реализует бизнес-логику, балансирует запросы и т. п.

Например, промежуточное ПО для обработки данных и создания цифровых продуктов (middleware for data) позволяет обрабатывать большие объемы данных, не повышая нагрузку на core-системы. В современных продуктах этого типа также включаются компоненты для создания отказоустойчивых систем, способные из коробки взаимодействовать с распространенными ИТ-продуктами, и другие дополнительные сервисы. Таким образом, промежуточное ПО позволяет кардинально снизить стоимость обработки данных.

Примеры из практики

Стремительное развитие технологий и растущие запросы потребителей определили главные конкурентные преимущества на рынке — скорость, гибкость, адаптивность. Монолитная архитектура часто не способна обеспечить адаптацию бизнеса к новым условиям. Поэтому компании дробят монолитные ИТ-системы на микросервисы, каждый из которых отвечает за свой бизнес-процесс. Так проще и удобнее обновлять отдельные функции и добавлять новые возможности. При микросервисном подходе также широко используется middleware, которое позволяет «склеивать» между собой разнородные сервисы и обеспечивать их бесшовную работу.

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

Например, компания «Мегафон» использовала in-memory платформу в качестве ПО промежуточного слоя для данных в своей биллинговой системе. Это позволило обеспечить бесперебойную работу 25 сервисов для 80 млн. абонентов в режиме реального времени. При этом аппаратная база сравнительно небольшая: один из сервисов работает на шести серверах в трех дата-центрах, выдавая производительность 3000 записей в секунду.

Отрасли с высокими требованиями к отказоустойчивости используют middleware для создания надежных систем на базе разнородной ИТ-инфраструктуры. Например банк «Открытие» в период объединения с несколькими другими банками выстраивал новую объединенную архитектуру. С помощью middleware for data банк бесшовно перешел на новую систему, на 85% снизил нагрузку на core-системы и в 20 раз повысил скорость обработки транзакций. Использовать монолитное ПО для объединения структур с различными аппаратными средствами и софтом было бы затруднительно. А применение ПО промежуточного слоя позволило не только выполнить задачу, но и улучшить пользовательские характеристики системы. Например, обновления информации о балансе на клиентском счете ускорилось с нескольких десятков до двух секунд.

Даже крупным интернет-компаниям приходится пересматривать свою ИТ-архитектуру. Например, «Ситилинк» долгое время успешно развивал монолитный интернет-магазин. Но из-за постоянно расширяющегося ассортимента товаров и растущего спроса покупателей реляционная база данных перестала справляться с нагрузкой. Переход на микросервисную архитектуру с базой данных на основе middleware for data позволил добиться значительного ускорения работы. Время обновления каталога (после внесения новых позиций) сократилось с 30 минут до трех секунд, а уровень доступности сервисов вырос в 10 раз.

Действовать быстро в условиях неопределенности, сокращения пула доступных технологий и растущей потребности в цифровизации помогают решения класса middleware. С их помощью компаниям удается преодолеть ограничения ИТ-инфраструктуры без существенных инвестиций в ее модернизацию и поддерживать высокую скорость цифрового развития.

Александр Виноградов, руководитель направления Tarantool