Пока идут разговоры про отъезд ИТ специалистов, про их возврат, про поддержку ИТ компаний, а неофиты pandas восторженно разбирают json, есть предложение посмотреть на роль data science инструментов в современной ИТ инфраструктуре немного с другой точки зрения. DS — это ведь не только подсчет пельменей, накликивание мышкой графиков-пирожков или создание N+1 системы по рекомендации фильмов из вселенной Марвел.
Является продолжением серии предыдущих публикаций.
Формул и картинок почти не будет. Ключевое слово — операционная аналитика. В двух словах, это алгоритмический блок, встроенный в контур обратной связи подсистему мониторинга за основными ИТ системами и процессами.
В технике и промышленности это давно уже применяется. Начиная от классической отрицательной обратной связи в контурах усилителя. Возьмем и другие примеры — авионика, которая позволяет летательным аппаратам, не обладающих идеальной аэродинамикой, господствовать в воздушном пространстве. Незначительные компромиссы, возникающие на физическом уровне, могут быть скорректированы на уровне обратных связей. Или наушники с шумоподавлением. Или управляемая подвеска автомобиля. Или автоматическая коробка передач.
Создание идеально работающей системы в физическом мира куда дороже, сложнее и дольше, чем создание корректирующего цифрового слоя. Ведь каждое физическое изменение может потребовать поиска окон допустимого простоя на обслуживание, либо пересертификации, либо массового обновления, либо иных серьезных изменений…
Самое главное, что путем точечных улучшений можно получить качественное повышение MTBF и добиваться всеми любимых показателей готовности «N девяток».
Кейс 1
Операционная аналитика бизнес-процессов (бизнес-мониторинг). В отличие от классического мониторинга или SRE (вот ведь, опять переоткрыли и захайпили хорошо известную вещь, см. https://www.brendangregg.com/ !) мониторинг бизнес-процессов работает на характерном масштабе времени от 5-10 минут и выше, что определяется характерными временами в бизнес-процессах. В аналитике может использоваться широкий спектр данных, как текущих, так и исторических. В ds инструментах нет ограничения по применяемым алгоритмам — доступно все. И кластеризация, и нейронки/бустинг, и деревья, и GAM и алгоритмы для временнЫх рядов, и NLP, и графы, и process-mining, и классический DSP и пр...
Грамотно построенная система на правильных инструментах позволяет охватить сеть федерального масштаба на минимуме аппаратных ресурсов. Если не трогать ETL, это отдельная транспортная задача на слабых каналах, само операционное ядро может быть запущено на 2-4 машинах с параметрами 16-20 CPU core, 128+ RAM, 1-2Tb SSD.
R + Clickhouse.
Ряд практических примеров (далеко не всех) упоминался ранее:
- «BMS в X5: как сделать business-process mining на неструктурированных POS логах средствами R»
- «IT Service Health Monitoring средствами R. Взгляд под иным углом»
- «Применение R в задаче обновления кассового ПО»
Контур операционной аналитики позволит существенно снизить требования к разработчикам основных ИТ систем, сохранив при этом качество работы путем создания глубинного контроля внутренних и внешних процессов.
Важно отметить, что в больших комплексах есть еще один важный момент, который не подвластен разработчикам и эксплуатации. Называется «Интеграция с внешними системами». Это могут быть как совсем внешние системы иных ведомств, например, ЕМИАС, ЕГАИС, ФИАС,… работа с которыми идет в формате as-is, так и другие ИТ системы в рамках своей же компании. Но даже если и будут обнаружены проблемы или ошибки в работе этих внешних систем при решении ваших частных задач, то ни полномочий ни бюджетов на исправление этих ошибок нет. Нужно писать workaround.
DS инструменты в этой части работают идеально. Локализация проблем, исследование, создание корректирующих прослоек. Важно сохранить архитектуру ядра и алгоритмы основной ИТ системы в целостности и не деформировать ее для поддержки обнаруженной неидеальности окружения. Не стоит создавать эффект домино собственными руками.
Кейс 2
Мажоритарная избыточность и параллельные расчеты.
Достаточно типовой кейс. Какое-то время назад создали большую и сложную систему. Разработчики ушли, исходников нет, окружение меняется. Периодически система впадает в ступор, а поддержка не знает причины. Бизнесу же важно обеспечить работоспособность этой системы.
DS стек в этом случае очень может помочь. Смысл в следующем.
Параллельно с продуктивной системой (например, сложный портал) строится альтернативный вычислительный поток по реконструированным алгоритмам. Он простой, поскольку проводит расчеты только по ключевым моментам основной системы, не обременен взаимодействием с пользователями и почти не содержит внешних артефактов. Основное назначение этого модуля — формирование альтернативных результатов для последующей сверки. Если оба канала (основная ИТ система и альтернативный расчет) дают идентичные показатели, то все хорошо. Если идет рассинхрон — надо срочно привлекать людей из поддержки, не дожидаясь грома и молний от бизнеса. В теории надежности это называется моделью с мажоритарным построением, см., например М. А. Гаврилов, В. М. Остиану, А. И. Потехин, «Надежность дискретных систем», Итоги науки. Сер. Теор. вероятн. Мат. стат. Теор. кибернет. 1969, 1970, 7–104
.
Кейс 3
Еще лет 5 назад в тематике SIEM начали активно говорить о применении open-source ds стека. Классический сайт — Data Driven Security. Тут и задачи анализа активности пользователей, и поиска аномалий и обнаружение ошибок и дыр в ПО и обнаружение «закладок» в системах путем поведенческого анализа.
Антифрод системы достаточно эффективно строятся по логам действий.
А появление дешевых SSD дисков позволяет самим делать сложные DPI системы для глубинного анализа инфопотоков в распределенных системах — тут ведь не режим реального времени нужен, а вдумчивый анализ для поиска аномальных паттернов.
Заключение
3 кейса — не предел, а простое количественное ограничение. Это просто небольшая практическая демонстрация того, что элегантно решается на ds стеке. И что достаточно сложно или невозможно купить в режиме «вендор — из коробки».
Предыдущая публикация — «Без «Табла» и жизнь не та…».
Andy_U
Про ClickHouse: https://clickhouse.com/blog/we-stand-with-ukraine/
i_shutov Автор
Ну да. Ожидаемый комментарий.
Но никто не мешает самому собрать с исходников https://github.com/ClickHouse/ClickHouse
961 контрибутор со всего мира
Andy_U
Я только краем уха слышал, что, так скажем, кого-то, кто ClickHouse использует, все это сильно обеспокоило. Поддержка - не поддержка, облако, не облако, что, не знаю. Мне эту ссылку еще 1 апреля прислали.
i_shutov Автор
Есть такое. Безопасность ИТ как один из вариантов предлагает не гоняться за новьем и брать последний проверенный GA релиз до определенной даты. Это не только CH касается, это общий принцип затаскивания модулей в прод..