Организациям необходимо использовать нативно-событийный (event-native) подход к управлению ПО и данными, если они хотят внедрять инновации быстрыми темпами, пишет на портале ITPro Today Рори Бланделл, генеральный директор Gravitee.

Почти десять лет назад появление технологий нативных облачных (cloud-native) вычислений изменило подход организаций к созданию и развертыванию ПО. Обеспечивая более гибкие и масштабируемые приложения, нативно-облачные технологии, такие как Docker и Kubernetes, помогли компаниям двигаться быстрее и вывести инновации на новый уровень.

Сегодня мы наблюдаем зарождение аналогичной революции в ИТ. Мне нравится называть ее event-native computing (нативно-событийными вычислениями). Как и cloud-native, event-native представляет собой радикально трансформирующую парадигму, которая обещает изменить способы использования технологий предприятиями всех типов.

Чтобы доказать это, позвольте рассказать о том, что такое event-native computing и почему переход на нативно-событийный подход к управлению ПО и данными будет иметь решающее значение для компаний, которые хотят внедрять инновации быстрыми темпами.

Что такое нативно-событийные вычисления?

Event-native computing — это использование потоков данных, управляемых событиями, в качестве основы ИТ-операций. С помощью событийно-ориентированных вычислений организации могут принимать решения в реальном времени на основе постоянно обновляемых и передаваемых данных. Например, они могут мгновенно обнаруживать проблемы в работе программных приложений с помощью средств мониторинга, получающих потоковые метрики, или выявлять мошеннические сделки купли-продажи на основе анализа потоковых данных о продажах в режиме реального времени.

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

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

Аналогичным образом event-native computing заменяет синхронное, негибкое принятие решений на очень гибкий подход к анализу данных и реагированию на них. Благодаря нативно-событийному подходу организации могут мгновенно обнаруживать важные события и реагировать на них, поскольку они собирают и анализируют потоки данных реальном времени.

Потоковые данные как ключ к успеху бизнеса

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

Однако в будущем использование потоков данных для принятия событийно-ориентированных решений может стать не исключением, а фактическим подходом к принятию решений для успешных компаний. Недавнее исследование Confluent показало, что для большинства компаний потоковая передача данных увеличивает ROI в 2-5 раз. И, как отмечает Forbes, «современный бизнес работает на потоках данных».

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

Становление нативно-событийного подхода

Как же стать нативно-событийным? Ответ на этот вопрос начинается с внедрения технологий, способных представлять данные в виде потоков событий. Опять же, такие технологии существуют уже давно, и есть множество как открытых, так и коммерческих решений.

Но простое представление данных в виде потоков событий — это только первый шаг. Необходим также способ, позволяющий приложениям безопасно и в реальном времени потреблять эти потоки событий, и вот тут-то могут возникнуть сложности. Большинство платформ для работы с потоками событий используют собственные протоколы, а некоторые обмениваются сообщениями. Это означает, что типовые приложения, разработанные для взаимодействия по протоколу HTTP с использованием REST API или использующие более распространенные асинхронные технологии на стороне клиента, такие как WebSockets, не могут напрямую взаимодействовать со многими брокерами событий.

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

Более эффективный подход заключается в развертывании ПО для событийного управления API в качестве гибкого промежуточного ПО, которое может выступать в качестве прокси-слоя между потоками событий и приложениями, которым необходимо потреблять и анализировать эти данные. С помощью API-шлюза, способного предоставлять данные бэкэнда по протоколу HTTP и другим популярным клиентским протоколам и типам API, можно просто и безопасно подключить любое приложение к любому потоку событий.

Будущее потоковой передачи данных

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