Что такое DataOps?DataOps (акроним от data и operations) — это новая методология, предполагающая совместную работу объединенных команд разработки и эксплуатации ИТ-систем (DevOps), инженеров по подготовке данных (data engineer) и исследователей данных (data scientist) для создания инструментов, процессов и организационных структур, необходимых предприятию, опирающемуся в работе на данные.

«Сегодня, помимо тенденции разработки с опорой на принципы DevOps, набирает силу новая, связанная с тем, что и в системы, и в сами процессы разработки внедряются элементы анализа данных. Поэтому в группе DevOps должен быть специалист соответствующего профиля», — объясняет Тед Даннинг, главный архитектор приложений компании mapR Technologies.

Принципы DataOps

Подобно DevOps, DataOps опирается на принципы скорой (agile) разработки. В рамках DataOps приоритетами являются непрерывная доставка аналитических знаний и ориентация на удовлетворенность клиента.

Группы DataOps выдают аналитику, имеющую практическую ценность, которая измеряется пользой от предоставляемых знаний. Группы DataOps готовы работать в условиях постоянного изменения потребностей клиента и всегда стремятся их учитывать. Такие группы обычно представляют собой коллективы, самоорганизующиеся для достижения определенных целей и отдающие предпочтение стабильности и масштабируемости команды и процессов, а не «трудовым рекордам».

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

Для чего годится DataOps

DataOps — подход, направленный на поддержку процессов машинного обучения. «Например, исследователи данных, работая по схеме DataOps, могут более продуктивно взаимодействовать с инженерами ПО в процессе передачи отделу эксплуатации моделей для развертывания, — говорит Эллен Фридман, ведущий технолог mapR. — Но DataOps не ограничивается машинным обучением. Этот подход полезен для любых работ, связанных с анализом данных, так как он облегчает использование преимуществ, предоставляемых распределенными платформами управления данными».

Кроме того, DataOps хорошо сочетается с архитектурами на основе микросервисов.

DataOps на практике

Новые технологии требуют от предприятий перемен, способностей работать с большими объемами данных и оперативно реагировать на события.

Традиционные, изолированные друг от друга отделы — слишком негибкие и медлительные для организаций, осваивающих работу с Большими Данными и проходящих через цифровую трансформацию. Именно в таких ситуациях способны помочь принципы DataOps.

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

Эксперты подчеркивают: чтобы группа DataOps стала максимально эффективной, в ней должны быть специалисты по исследованию данных.

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

При этом не требуется, чтобы специалисты в области Data Science работали в группе DataOps на постоянной основе: обычно исследователя данных включают в команду на определенное время, впоследствии он может перейти в другую команду, а его роль в группе берет на себя другой участник, например инженер по подготовке данных, иными словами, происходит постоянная ротация.

Как сформировать команду DataOps

Для создания команды DataOps не обязательно нанимать новых специалистов. Во многих организациях уже есть костяк группы DataOps — участники имеющихся команд DevOps. Следующий этап — выбрать проекты, сопряженные с разработкой механизмов анализа больших объемов данных, и найти специалиста, имеющего опыт исследования данных. Это может быть инженер по подготовке данных, а не обязательно специалист в области Data Science.

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

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

 

DataOps — agile-подходы к работе с данными

Вслед за повсеместным внедрением практик DevOps заговорили и о DataOps — подходе, собирающем весь жизненный цикл по работе с Большими Данными в один клубок, из которого предполагается быстро извлекать новые результаты и гибко реагировать на изменения.

• Сохранятся ли профессии аналитиков, математиков, программистов, тестировщиков, администраторов баз данных, системных администраторов или будущее за «универсальными» исследователями данных?

• Agile-методологии в работе с Большими Данными: скрещивание модных терминов или насущная необходимость?

• Нормально ли формирование технологического ландшафта «снизу», когда в одном проекте используются несколько разных СУБД и десятки технологий потоковой обработки?

• Актуально ли в agile-условиях создание и соблюдение технических политик?

• Есть ли шанс в этих условиях для российских платформенных продуктов?

• Имеет ли смысл накопление данных пока неясной ценности для анализа в будущем?

Все эти вопросы собираются обсудить участники дискуссии в рамках традиционного форума BIG DATA 2018, который организует издательство «Открытые системы».