Бизнес давно знаком с самой идеей использовать данные для автоматизированного построения прогнозов и принятия решений в реальном времени. Вот лишь некоторые применения: прогнозная аналитика сбоев, колебаний спроса, назначение оптимальной цены для товара, выбор оптимальных маршрутов для логистических транспортных средств, сегментирование клиентской базы.
Инструменты аналитики и искусственного интеллекта используют первоначальный набор неструктурированных данных, чтобы выявить в них слабые неочевидные взаимосвязи. В таких данных скрыта масса неочевидных корреляций, которые не удастся обнаружить усилиями аналитиков или стандартными инструментами.
«Например, ритейлерам критично поддерживать на складе определенный ассортимент товаров: так, чтобы и покупатели могли быстро получить свой заказ, и товар не залеживался на складе. Сбор данных о заказах на достаточном промежутке времени открывает возможности для аналитики, которая точно прогнозирует товарооборот. Для транспортных компаний анализ больших данных помогает оптимизировать логистику, на производстве — контролировать качество продукции и предупреждать аварии. Практически любая компания может извлечь больше ценности из своих данных, если внедрит подход, ориентированный на данные и современные инструменты аналитики», — говорит Дмитрий Лазаренко, директор по продукту Mail.ru Cloud Solutions (MCS).
Какие нужны системы работы с данными сегодня, на что самый большой спрос? Мы рассмотрим сначала механизмы самого сбора и агрегации данных, а затем путь их дальнейшей обработки.
У технологий работы с данными раньше был высокий порог входа: они дорого стоили и для работы с ними требовались специалисты соответствующей квалификации. Сегодня создатели этих технологий стремятся их упростить, сделать доступными для широкой аудитории. Если раньше точкой прорыва была сама возможность построения систем накопления и обработки данных, то теперь важна простота создания и использования таких систем.
Исторически подход к задаче работы с данными прошел большую эволюцию. ERP- и CRM-системы уже используют почти все компании. Это «базовый уровень», на котором собирается весьма ограниченный набор данных. Возможности по извлечению инсайтов из этих данных ограничены фиксированным набором, заложенным в систему на уровне ее дизайна.
Между тем, бизнес стал интенсивно внедрять модели машинного обучения, создавать отделы специалистов по работе с данными (data scientist). Однако на пути внедрения продвинутых алгоритмов оказалось отсутствие подготовленных данных, которые можно просто взять и использовать для анализа. Когда нет выстроенного конвейера, который бы собирал, доставлял и обрабатывал данные автоматически, их подготовка к обработке съедает гигантское время, и внедрение алгоритмов занимает месяцы вместо недель или даже дней. Корень проблемы лежит в разрозненности данных, их качестве, построении надежных пайплайнов.
На текущий момент компании обычно решают проблему разрозненности через создание озер данных (data lake). Озеро данных — это огромное хранилище для информации из разных источников в «сыром», неупорядоченном и необработанном виде. Смысл озера — в том, что если вы не знаете, какие данные пригодятся через полгода, то на всякий случай храните все. И задача озера — делать это наименее затратно, наиболее надежно и с простым извлечением данных для анализа. Проблема с озером — в том, что при таком сборе информации неизбежны вопросы к качеству данных, например, проблемы дублирования. Одно и то же событие оплаты счета может попасть в хранилище и в виде бухгалтерских документов, и в виде прикрепленных к письму файлов. Без выстроенных процессов по обеспечению качества данных озеро может превратиться в «болото».
Корпоративное хранилище данных (data warehouse, DWH) позволяет решить проблему «заболачивания» озер данных. DWH интегрирует в себя озеро, но убирает дубли и создает «золотую запись», наиболее полную и достоверную компиляцию о каждом конкретном объекте. В идеальном виде DWH — это максимально очищенное и стандартизированное озеро данных с ориентацией на конкретные бизнес-задачи. Но DWH создаются долго, для этого нужна экспертиза. В итоге замедляется загрузка данных в DWH и возникают проблемы демократизации доступа к ним: из-за жесткого контроля доступа на уровне общих политик пользователю получить доступ к нужным данным бывает непросто. Также непросто как и понять, какие данные загружены в DWH и готовы к использованию.
Управление данными (data governance) — концепция управления данными. Суть data governance заключается в том, чтобы понять, какие в компании есть данные, как они создаются, какие трансформации проходят, определить владельцев данных. Как результат, data governance обеспечивает доступность данных для различных пользователей внутри компании, уверенность в качестве, понятность.
Выделение уровня метаданных, или «данных о данных», упрощает самостоятельное получение нужной информации пользователем с контролем доступа ровно в том объеме, в котором это нужно. Каталоги метаданных позволяют упростить доступ к данным, в том числе в DWH.
Таким образом, современные системы работы с данными включают в себя озера данных (data lake), корпоративные хранилища данных (DWH) и инструменты, позволяющие управлять данными (data governance), например, создавать каталоги метаданных.
Собранные данные используются для построения различных аналитических решений, в том числе на основе машинного обучения. По сути требуется построение конвейера данных, который начинается со сбора и заканчивается представлением результатов анализа либо автоматизированным принятием решений.
Раньше такие конвейеры строили, используя несколько инструментов разных вендоров. Сегодня появились единые платформы, объединяющие все нужные для такого конвейера технологии, и строить конвейер на них проще. Этот подход упрощает интеграцию.
Помимо наличия всех нужных аналитических сервисов, платформа должна быть гибкой и масштабируемой. Объем данных постоянно растет и меняется, и необходимо легко увеличивать объем хранения и наращивать мощности обработки по требованию.
Не менее важна простота внедрения и запуска новых проектов, возможность быстро проводить эксперименты с данными, создавать пилотные проекты, оценивать их эффект и при необходимости быстро масштабировать упрощенный тестовый вариант продукта (minimum viable product MVP) до полноценных продуктов. Решать подобные задачи удобнее всего, используя сервисы в облаке.
Тенденция к консолидации данных, потребность в быстром запуске и простом масштабировании приводит к тому, что компании все чаще выбирают для этого облачные платформы. Использование облака позволяет не думать об отказоустойчивости, физической безопасности дата-центров, в которых хранятся данные, обслуживании инфраструктуры, поскольку все это берет на себя провайдер.
Чтобы начать работать с данными в облаке, не нужно строить собственную инфраструктуру — достаточно взять нужные мощности в аренду с оплатой за использованные ресурсы. В облаке удобно масштабировать проект: добавлять нужные мощности, когда они потребуются, и отключать их, как только ресурсы перестанут быть нужными. В итоге на уровне инфраструктуры облачный подход сокращает расходы на запуск и тестирование решений. Обслуживание и администрирование физической инфраструктуры и средств виртуализации остаются на провайдере, а компания может сосредоточиться на бизнес-процессах.
«Часто дорогие ресурсы для работы с Big Data и машинным обучением, например, серверные видеокарты, компания использует лишь на 1% их общей мощности, поскольку между расчетами они простаивают. То есть бизнес тратит большие деньги на покупку оборудования, которое большую часть времени простаивает. В облаке такие ресурсы можно брать в аренду на нужное время с посекундной тарификацией, а значит, не переплачивать за них во время простоя. Второй момент — у провайдера обслуживание инфраструктур клиентов автоматизировано, настроена отказоустойчивость и доступность. В своей инфраструктуре все это надо реализовать самостоятельно. Одним из ключевых преимуществ облака также является гораздо более высокая скорость восстановления после сбоев. В итоге on-premise инфраструктура менее надежна и в среднем обходится на 30% дороже, чем аренда облачной, даже в долгосрочном периоде», — поясняет Дмитрий Лазаренко.
Любые источники данных. Важна возможность простого сбора информации из любых источников для ее последующей комплексной обработки. Речь как об интеграции с системами, в которых данные уже были накоплены ранее, так и с новыми источниками данных в реальном времени.
Масштабируемость. Масштабируемыми должны быть как хранилища данных, так и вычислительные мощности, которые требуются для их анализа. Возможностью простого и автоматизированного масштабирования гарантируется, с одной стороны, стабильная работа под меняющейся нагрузкой, и с другой — полная утилизация оплаченных ресурсов.
Экосистема сервисов для работы с данными. С точки зрения гибкого подключения новых возможностей платформа должна быть экосистемой облачных сервисов, которые закрывают все базовые задачи хранения, обработки и анализа больших данных. Начиная с подключения источников и заканчивая хранением, анализом данных, инструментами визуализации. В качестве инструментов платформы должны использоваться проверенные надежные решения enterprise-уровня.
Для более простого начала работы с платформой стек сервисов работы с данными должен быть представлен в виде управляемых платформенных сервисов (PaaS). Речь о технологиях Hadoop, Spark, Kafka, объектных хранилищах (S3), аналитических базах данных, машинном обучении, интернете вещей (IoT). Формат PaaS позволяет команде легко получать доступ к сложным технологиям без трудозатратного и требующего экспертизы администрирования платформ.
Для проектов с непредсказуемой нагрузкой важна возможность интеграции с Kubernetes, который ускоряет создание новых сервисов для работы с данными и помогает масштабировать мощность облака. По аналогичным причинам, упрощении работы команды, Kubernetes должен быть доступен в виде платформенного сервиса.
Платформа полного цикла для экспериментов с машинным обучением. Одна из задач платформы — ускорение экспериментов с машинным обучением, которое подразумевает стандартизацию работы дата-саентистов и дата-инженеров и как результат — ускорение типовых экспериментов в разы. Такую возможность предоставляет платформа полного цикла (end-to-end) для работы с большими данными.
Экспертиза провайдера и комплексная поддержка. Для внедрения платформы важен опыт провайдера в работе с различными отраслями. В идеале у провайдера есть готовые типовые архитектуры, например, для e-commerce, финансов, игр, диджитал-сервисов и так далее. Для компаний, занятых в индустрии, транспорте, мониторинге также важно наличие на платформе инструментов и типовых решений для интернета вещей.
Многим компаниям важно наличие в портфолио провайдера поддержки всего цикла внедрения и сопровождения. Речь о помощи в архитектурном анализе, сопровождении внедрения, интеграции, самой эксплуатации и последующих «апгрейдов» платформы.
«Иногда клиент приходит с пониманием, как должна выглядеть инфраструктура, но его представление искажено классическим корпоративным подходом. Если строить по его плану, инфраструктура получится дорогой и негибкой. Мы консультируем клиентов, как сделать так, чтобы приложения были максимально гибкими в управлении и надежными, легко масштабировались, чтобы выход из строя единичных звеньев приложения не приводил к сбою всего сервиса», — говорит Дмитрий Лазаренко.
Кастомизируемость и доступность в частном облаке. Внутри крупных компаний много отлаженных процессов, которые сложно перестроить под внедрение «коробочных» платформ. Вместо этого сама платформа должна быть достаточно гибкой и кастомизируемой. В идеале сам провайдер платформы должен быть готов выполнять все нужные кастомизации.
Если все или часть операций с данными по требованиям клиента должны происходить в контролируемом им частном контуре, платформа должна предоставлять возможность размещения целиком или частично в частном облаке.
Правильное обращение с персональными данными. Если компания работает с персональными данными, нужно обеспечить правильное обращение с ними с точки зрения закона, в частности, ФЗ-152. В этом случае надо выбрать платформу, которая уже аттестована либо может быть легко аттестована под требуемый уровень защиты. Сейчас уже существуют публичные облака, имеющие аттестаты (в том числе, УЗ-2 и УЗ-3), поэтому для многих типов данных никаких ограничений по размещению данных в облаке нет. Провайдеры таких облаков помогают определить меры защиты для данных в каждом случае, а если требуется прохождение дополнительных аттестаций, помогают в подготовке и оформлении документации.
Платформы данных позволяют подключать разный набор сервисов, который зависит от конкретной бизнес-задачи. Вот несколько типовых комплектов таких сервисов, которые «заточены» под разные ситуации.
Платформа для интернета вещей. Здесь платформа данных «заточена» под сбор и анализ информации «с полей». Поэтому система работы с данными дополняется масштабируемой IoT-платформой для сбора, обработки и анализа данных в режиме реального времени, управления устройствами и машинного обучения. Здесь важна возможность работы с устройствами любых производителей. Причем в качестве источников данных могут выступать не только датчики в IoT-решениях, но и базы данных и другие сторонние системы.
Платформа для хранения петабайтов данных. Задачи хранения гигантских объемов данных совершенно не обязательно возникают из-за видео или других «тяжелых» файлов. Достаточно, чтобы у системы было много пользователей, генерировалось большое количество файлов логов или рендеров. Для хранения гигантских объемов данных есть тенденция к использованию объектных S3-хранилищ. В отличие от традиционного хранения данных на виртуальных дисках, такое хранилище не ограничено по масштабированию, значительно дешевле и не тормозит при большом количестве одновременных обращений.
Сверхнадежность и масштабируемость. Когда нагрузка на систему нестабильна, желательно развернуть все инструменты анализа данных на «инфраструктурной подложке» Kubernetes. Для этого платформа работы с данными должна поддерживать интеграцию с Kubernetes, в идеале в режиме Kubernetes как услуга. Эта технология позволяет облачной инфраструктуре автоматически расширяться под нагрузкой и сжиматься при ее уменьшении. В результате не возникает рисков падения системы под нагрузкой, и при этом не нужно заводить резервные мощности, простаивающие на случай пика.
Платформа полного цикла для экспериментов data science и машинного обучения. Быстрое появление большого числа приложений и сервисов на основе машинного обучения — заслуга дата-саентистов, которые проводят эксперименты с данными и создают новые «модели», становящиеся основой сервисов. От скорости проведения экспериментов и вывода их результатов на рынок зависит скорость появления новых сервисов. Ускорить их работу в несколько раз может платформа полного цикла, в которой автоматизирован весь конвейер вывода новых «моделей» к реальным пользователям. Такая платформа хранит данные всех экспериментов, настройки публикации «моделей» в виде компонентов приложений. В конечном итоге она стандартизирует весь процесс работы. Это позволяет получить полную отдачу от экспериментов.
Очищение болота данных. При объединении данных из многих источников в DWH неизбежно возникает дублирование информации. В решении этой проблемы помогают каталоги метаданных, например, Amundsen. Это система поиска по данным, которые загружены в хранилище, с помощью которой любой аналитик легко может понять, какого плана данные в принципе уже собраны и где их искать. Даже если у него нет доступа к определенным данным и он их не видит, он хотя бы понимает, что данные есть, и может запросить к ним доступ.
В целом компании уже научились собирать данные и извлекать из них какую-то пользу. Но консолидация данных на единой облачной платформе снимает сложности масштабирования и развития возможностей по работе с данными. А построение полного цикла для проведения экспериментов ускоряет выпуск новых «умных» продуктов в разы. Наконец, провайдеры таких платформ теперь помогают строить дата-системы под конкретные бизнес-задачи, поскольку уже имеют экспертизу работы с разными отраслями.