Объем информации в онлайне постоянно растет. Только представьте: ежедневно пользователи по всему миру создают 500 млн твитов, 294 млрд мейлов, 4 млн гигабайт данных в Facebook и 65 млн сообщений в WhatsApp. Вместе с тем возникает потребность в безопасном хранении, быстром обмене и качественном анализе информации. Справиться с этим помогает модель управления данными — Data as a Service.
Этот подход предполагает, что процесс сбора, хранения, интеграции, обработки и анализа данных пользователи возлагают на отдельные команды. Об основных преимуществах и возможностях модели DaaS рассказали на IT-конференции NIX MultiConf.
В начале 2000-х многие IТ-компании столкнулись со стремительным ростом объема данных. Среди них были такие известные корпорации как Google, IBM, Oracle, Microsoft. Специалисты пытались понять, как извлечь из этого потока данных максимальную пользу для бизнеса. Решение не заставило себя долго ждать – решили продавать результаты аналитики по подписке.
Отметим, что в те времена уже было понятие Software as a Service (SaaS) и было образовано семейство концепций as a Service. В его состав вошли IaaS (Infrastructure as a Service), PaaS (Platform as a Service), а также еще не до конца сформированная концепция DaaS как бизнес-модели.
С технической стороны DaaS — метод сбора, хранения, обработки и анализа данных, чем в компании занимается отдельная команда дата-инженеров и дата-аналитиков.
Одновременно у корпораций возникли сложности с обработкой большого объема данных для собственных нужд. Все понимали ценность информации и пытались ввести Data as a Service внутри организаций. Малому и среднему бизнесу услуга была не по карману. Все изменилось с появлением рынка провайдеров облачных технологий. Они предоставляли различные инструменты и технику для обработки данных. Благодаря развитию этого рынка выросла популярность DaaS как концепции менеджмента.
Сегодня DaaS-системы демонстрируют мощные возможности, работая с данными, ограниченными четко определенными рамками . Это может быть работа с внутренними данными компании, взаимодействие с данными о пользователях отдельной платформы или данные отдельной бизнес-сферы.
Среди основных задач, помогающих решить DaaS, выделяют следующие:
У разработчиков NIX также есть показательные примеры реализации системы DaaS. Рассмотрим один из них.
В этой истории в роли бизнеса выступает LMS-система (Learning Management System). Проект предоставляет услуги в сфере образования и насчитывает 43 сервиса. Каждый из них генерирует значительный объем информации, с которой нужно работать отдельным командам Data-инженеров и Data-аналитиков. Конкретно они разрабатывают DaaS-систему.
Общая DaaS-модель выглядит следующим образом:
Этими хранилищами могут быть:
В этой части системы происходит трансформация и анализ данных с помощью Apache Spark, работающего на Amazon EMR.
Следующий блок — сервисы снабжения результатов анализа клиентам, в качестве которых выступают наши внутренние сервисы. Эта часть реализована Spring-сервисами или парами AWS Lambda+Amazon API Gateway. Также есть технологии, которые используются по всей системе, а именно:
Это была общая схема системы. Теперь рассмотрим подробнее один из десятков пайплайнов.
Как и в каждой LMS, здесь у нас есть учащиеся, учителя и процесс оценивания. Выясним, как результаты выполнения учеником задач попадают в систему и какую пользу из этого может получить клиент.
Данные попадают к нам из внутреннего сервиса LMS в Spring-сервис сбора данных по предварительно согласованному контракту. Эти данные в «сыром» виде хранятся в S3-bucket для архивации. Далее сообщение следует к SQS-очереди с исходными данными, которые были получены от источника. Core-часть извлекает данные SQS-очереди и трансформирует их для того, чтобы сохранить в базе данных MongoDB.
Сообщения о том, что данные получены и успешно сохранены в MongoDB попадают в SNS-топики, откуда подбираются SQS-очереди. Они накапливаются в Report Generator, который по графику на основе полученных сообщений выбирает необходимые данные из MongoDB и формирует отчет об успеваемости студента с последующим планом по улучшению.
Отчет попадает в S3-bucket, откуда будет передан с помощью AWS Lambda + API Gateway клиенту (внутреннему сервису). Последний же покажет его пользователю (студенту или учителю) в формате user friendly.
Подобный отчет востребован среди учителей и учащихся. Так что внутренние сервисы получают большую пользу, пользуясь им как сервисом, и не задумываются о его имплементации.
Приведем еще один пример. Абсолютно со всех сервисов мы собираем информацию об активности пользователей — это 28 ГБ данных в сообщениях ежедневно или примерно 40 тыс. сообщений ежечасно.
Здесь несколько другой подход. Данные из сервисов попадают в DaaS-систему через API Gateway + Amazon Kinesis Data Firehose и хранятся в Amazon S3. Именно эта комбинация позволяет продуктивно прорабатывать такое большое количество данных.
Далее информация попадает в Snowflake. Для предварительной трансформации используется Apache Spark, если она не нужна — Snowpipe. В Snowflake Data-аналитики формируют из данных Data Lake. Результаты предоставляются клиентам (бизнес-аналитикам компании) с помощью BI-инструмента — Looker. Таким образом и реализуется DaaS-система на примере LMS-проекта.
Теперь перейдем к основным преимуществам Data as a Service, которые сделали эту систему популярной.
Предположим, что существует Data-провайдер, который предоставляет аналитику общедоступных данных. Будет значительно проще и дешевле приобрести их результаты, чем самостоятельно создавать аналогичную систему, которая выполняла тот же процесс.
Не считая того, в компании множество разных сервисов генерируют для команды контент. Одному сервису требуется аналитика из пяти серверов, другому — из шести. Они между собой взаимосвязаны. Поэтому вместо того чтобы каждая команда собирала отдельную аналитику из всех сервисов и дублировала данные, лучше создать коалицию людей и делегировать обязанности. Таким образом каждый отдельный сервис будет заниматься бизнес-задачей.
Вам не нужно думать о задачах, выполняемых командой при работе над проектом. Вы не беспокоитесь о том, как происходит процесс сбора, хранения, обработки и анализа данных, а просто пользуетесь готовым результатом.
За счет того, что детальным анализом данных занимается команда профессионалов, обладающих специальными знаниями и технологиями обработки информации, качество получаемых результатов значительно возрастает.
Индустрия аналитики данных будет развиваться. Ключевые игроки на рынке — AWS, Oracle, Google, Meta, Apple, Microsoft — будут постоянно расти. Другие компании, использующие аналитику внутренних данных, чаще будут имплементироваться DaaS. Даже небольшие команды в процессе своей деятельности будут генерировать все больше информации, тоже нужно будет обрабатывать.
Поэтому вероятно, что их спрос на Data-инженеров вырастет. Поэтому изучайте DaaS-модель прямо сейчас.
Если вы занимаетесь бизнесом, самое время заложить архитектуру DaaS-системы в своей компании. Выясните, какими данными будет оперировать ваше приложение или веб-сайт, какие функции будет выполнять продукт.
Что касается имеющегося сервиса, то вам нужно проанализировать, каким объемом данных приложение уже оперирует, и есть ли необходимость привлечь к работе с ними отдельную команду. Собственно, эти специалисты и будут заниматься созданием DaaS для вашего проекта.
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…