В последние годы растет сложность IT-инфраструктуры в компаниях и, соответственно, спрос на сервисы мониторинга ее работоспособности. Их все больше покупают, в них все чаще инвестируют. Но в данной статье мы расскажем о новом смежном тренде - Data Observability. Что это и чем она отличается от Infrastructure Observability? 

Классический мониторинг - это наблюдение за работой инфраструктуры и приложений. А Data Observability позволяет осуществлять мониторинг потоков данных (и даже бизнес-процессов) и находить в них сбои. 

Рассмотрим несколько примеров.

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

Для такого кейса можно воспользоваться трассировками с тригерами по времени отработки. Но кажется, что должен быть более простой способ определять аномалии.

  • Есть модель машинного обучения, которая что-то предсказывает. Например, объем будущих продаж. Модель использует входные данные, которые постоянно обновляются. Если в конвейере этих данных произойдет сбой, то на вход будут подаваться неадекватные данные, что приведет к неадекватным прогнозам. А неверный прогноз в данном случае - это либо избыточно закупленный товар, либо, что еще хуже, отсутствие товара при наличии покупательского спроса.

Таким образом, если традиционные инструменты анализируют инфраструктуру и приложения с использованием метрик, логов и трассировок, то в Data Observability используется анализ данных в более широком смысле. 

Смысл Data Observability в том, чтобы выявлять так называемый data downtime. Data Downtime означает что у вас что-то случилось в бизнесе/инфраструктуре/коде, что привело к резкому изменению в данных.

Иными словами, это процесс поиска аномалий в данных. 

Таким образом можно выявить события следующего типа:

  • Превышение заданной величины метрики или аномальный скачок данной метрики. Данный тип самый простой. Представьте, что у вас ежедневно прибавляется по 80-120 клиентов (доверительный интервал с некоторой вероятностью), а в один из дней только 20. Возможно, что-то произошло и стоит разобраться.

  • Резкое изменение структуры данных. Представим прошлый пример с клиентами. Все было хорошо, но в один из дней в поле с контактными данными стали приходить пустые значения. Возможно, у вас что-то сломалось в конвейере данных, лучше проверить.

  • Наступление некоторого условия или отклонения от него. Представим, что ваши данные - это GPS-координаты грузового транспорта. Логично, что если координаты GPS показывают не поверхность земли, а просторы океана, то что-то пошло не так. 

  • Статистические аномалии. Например, вы школа программирования и собираете заявки от желающих пройти курс. Маловероятно, что есть люди в возрасте 90 лет, владеющие языком Kotlin.

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

Сами термины Data Observability и Data Downtime довольно новые и довольно маркетинговые. Предположу, что причина их появления - объяснить инвесторам иновационность предлагаемых инструментов. 

И можно сказать, что это объяснение было весьма успешным.

Так, Monte Carlo - компания, производящая инструмент для мониторинга данных, - привлекла 135 млн. $, Observe - 112 млн.$, Acceldata - 100 млн.$.

В таблице ниже я попытался собрать компании, которые либо прямо, либо косвенно делают Data Observability инструменты. Ни одна из компаний в таблице не работает в России.

Компания

Инвестиции млн $

Выручка млн $

Сайт

Год основания

Monte Carlo

135

24

https://www.montecarlodata.com/

2019

Manta

52

16

https://getmanta.com/

2016

Observe

112

17

https://www.observeinc.com/

2017(c 2020)

Better Stack (на clickhouse)

18

-

https://betterstack.com/

2021

Cribl

402

65

https://cribl.io/

2017

Coralogix

235

2000 клиентов 34 млн

https://coralogix.com/

2014

Unravel Data

107

21

https://www.unraveldata.com/platform/optimization/

2016

Edge delta

81

от 2 до 15

https://www.edgedelta.com/

2018

Databand

14

5

https://databand.ai/

2018

Acceldata

100

21

https://www.acceldata.io/

2018

Bigeye

66

7

https://www.bigeye.com/

2019

Datafold

22

4

https://www.datafold.com/

2020

Great expectation/ Superconductive

61

-

https://greatexpectations.io/

2017

Если резюмировать: Data Observability - это подход выявления аномалий в бизнес-процессах и работе приложений и инфраструктуры, позволяющий быстро реагировать на возникающие инциденты. И если в технологиях тут нет особой новизны, то в подходе, инструментах и новых терминах, позволяющих лучше убеждать инвесторов и клиентов, новизна безусловно есть. А насколько новые игроки окажутся успешны на рынке, покажут ближайшие несколько лет. 

Материал статьи был собран в рамках анализа инструментов для мониторинга работы нашего облака Amvera Cloud. 


Пользуясь возможностью, приглашаю протестировать наше контейнерное облако Amvera Cloud для хостинга проектов. В нем вы можете арендовать отдельные контейнеры и, как в Heroku, делать обновления через push в GIT. Для бесплатного пополнения стартового баланса на 300 руб. можно воспользоваться промокодом LZQJF300. Код будет действовать до 20 августа 2023. Буду благодарен за использование облака и обратную связь.

Комментарии (7)


  1. Data4
    06.08.2023 11:04

    А чем это отличается от давно известных инструментов анализа данных, типа Airflow и т.д.?


    1. kirillkosolapov Автор
      06.08.2023 11:04

      Скорее специализированными алгоритмами обработки данных (временных рядов, распределений). Airflow - это ETL, для широкого стека задач. А в данных решениях более узкоспециализированные продуктовые кейсы решаются. Правда у всех разные, видимо, под Data Observability каждый свое понимает.


  1. entze
    06.08.2023 11:04

    А где же Elastic?


    Elastic Observability - Transform your data into actionable observability


    1. kirillkosolapov Автор
      06.08.2023 11:04

      Elastic это же про обработку/хранение логов и поиск. Т.е. скорее относится к мониторингу работы инфраструктуры.


      1. PrinceKorwin
        06.08.2023 11:04

        Кто запрещает хранить в opensearch не только логи?


        1. kirillkosolapov Автор
          06.08.2023 11:04

          Никто, но причем тут Data Observability. Elastic (он же Opensearch) - это СУБД + поиск, которая заточена на хранение и поиск по текстовым данным. Так можно хоть в PostgreSQL все сохранять и потом обрабатывать. Просто ни то ни то, не специализированные решения для потоковой алгоритмической обработки данных для поиска разных аномалий.


          1. entze
            06.08.2023 11:04
            +1

            Значит вы плохо знакомы с продуктами Elastic. Сбор и анализ данных там есть достаточно давно.