О чём эта история

DataGo! — разработчик собственных решений по повышению эффективности цифрового привлечения в РФ. Решения DataGo! позволяют компаниям использовать аналитические инструменты для глубинного анализа эффективности digital‑маркетинга. Сегодня компания имеет более 100 крупных проектов в России в сферах e‑com, ритейла, финансов, телекома и других.

DataGo! разрабатывает решения для построения data‑driven‑маркетинга, которые помогают получать точные данные, строить прикладные отчёты в удобном формате, находить инсайты и принимать управленческие решения.

Специалисты DataGo! собственными силами за несколько дней развернули платформу в Yandex Cloud. В результате компания получила инфраструктуру, которой было достаточно для разворачивания минимально жизнеспособного продукта. В течение полугода на новую инфраструктуру перенесли более 50 клиентов, постоянно масштабируя вычислительные мощности.

Задача компании

DataGo! — разработчик собственных решений по повышению эффективности цифрового привлечения в РФ. Решения DataGo! позволяют компаниям использовать аналитические инструменты для глубинного анализа эффективности digital‑маркетинга.

DataGo! также оказывает консалтинговые услуги: от подготовки к аналитическому проекту до формирования инсайтов после того, как получены данные.

Команда DataGo! в своей работе ранее использовала зарубежные облачные ресурсы, но, учитывая появившиеся финансовые, регуляторные и инфраструктурные риски, решила разместить свой продукт на российской облачной платформе.

Компании была нужна инфраструктура для потокового сбора данных из веба с должным уровнем надёжности. Требовались вычислительные мощности для непрерывного сбора данных и возможность их автоматического масштабирования.

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

В первую очередь выбор облачного провайдера определялся требованиями к размещению ЦОД в России, а также соблюдению правил обработки информации в соответствии с международным генеральным регламентом о защите данных и Федеральным законом от 27.07.2006 № 152‑ФЗ «О персональных данных». Кроме того, облачная платформа должна была предоставлять собственные сервисы, позволяющие избежать лицензионных рисков, и иметь возможность быстрой работы с большими данными.

Учитывая, что в качестве базы данных для сбора хитовых и сессионных данных ранее компания решила использовать ClickHouse®, выбор облачного провайдера пал на Yandex Cloud. Также на это решение повлиял тот факт, что для ряда клиентов DataGo! было важно работать в единой экосистеме с сервисом веб‑аналитики Яндекс Метрика.

Решение

Основной продукт компании — платформа по оценке эффективности digital‑маркетинга DataGo! Компания запустила платформу в августе 2022 года, тогда же разработали первую версию веб‑стриминга DataGo! — Web Streaming для сбора хитовых и сессионных данных о поведении пользователей на сайте. До конца этого же года запустили DataGo! Pipeline — сервис импорта сырых данных по событиям AppsFlyer и рекламных расходов из Яндекс Директа, «ВКонтакте», myTarget. В 2023 году запустили DataGo! GA4 Streaming — веб‑стриминг, позволяющий собирать данные в структуре GA4 без ограничений и семплирования, что значительно повышает качество и точность данных.

Сервис стриминга использует аналитическую СУБД ClickHouse с открытым кодом, которая позволяет выполнять запросы в режиме реального времени, два кластера виртуальных машин (ВМ) — для обработки запросов и для загрузки данных клиентов, а также Apache Kafka в качестве брокера сообщений.

Сервис импорта данных расходов из рекламных кабинетов построен на основе системы оркестрации потоков операций обработки данных Apache Airflow. Эта система использует одну ВМ для управления и кластер ВМ для исполнения заданий.

Изначально продукт писали на Python, но затем перешли на GoLang. Кроме того, команда использует платформу контейнеризации Docker и Docker Compose — инструмент, позволяющий запускать среды приложений с несколькими контейнерами, а также СУБД PostgreSQL.

При размещении своего решения в Yandex Cloud команда DataGo! использовала сервисы платформы данных. Для развёртывания нод кластера сервиса стриминга использовали сервис управления облачными сетями Yandex Virtual Private Cloud. Для базы управления информацией о пользователях развернули экземпляр Yandex Managed Service for PostgreSQL. Работу аналитической базы данных также обеспечивает управляемый сервис — Yandex Managed Service for ClickHouse®, а для организации масштабируемого гибридного хранилища в связке с ClickHouse задействован Yandex Object Storage.

Приём входящих запросов и распределение их между нодами кластера обеспечивает сервис Yandex Application Load Balancer.

Специалисты DataGo! задействовали сервис запуска контейнеров без необходимости работы с Kubernetes® — Yandex Serverless Containers.Для работы в качестве планировщика для ряда процессов использовали Yandex Cloud Functions.

Команда самостоятельно развернула решение в Yandex Cloud всего за несколько дней. Некоторое время потратили на ознакомление с инструментами и сервисами Yandex Cloud. В частности, понадобилось проработать точечные кейсы, связанные с особенностями Yandex Managed Service for ClickHouse.

При размещении платформы также стало понятно, что нужно уделить дополнительное внимание и выделить ресурсы для обеспечения надёжности и отказоустойчивости решения, но для специалистов DataGo! это не составило большой проблемы.

Результаты

В короткий срок DataGo! получила инфраструктуру, которой было достаточно для разворачивания минимально жизнеспособного продукта. Издержки соответствовали изначальным ожиданиям команды и росли в допустимых пределах, пропорционально возрастанию нагрузки.

Затем в течение полугода команда развернула более 50 клиентских проектов в инфраструктуре Yandex Cloud, при необходимости масштабируя ресурсы. При этом удалось перенести наработанные ранее исторические данные и обеспечить бесшовность отчётов. Бизнес выполнил обязательства по обеспечению непрерывности трекинга веб‑данных и сохранил целевой регулярный доход от предоставления услуг.

Доступная инфраструктура Yandex Cloud позволила DataGo! в кратчайшие сроки развернуть продуктовое решение для более 50 крупных интернет‑проектов и сохранить сбор маркетинговых данных, который находился под потенциальными регуляторными и инфраструктурными рисками.

Дмитрий Ежов,
ССО DataGo!

Сейчас платформа стабильно работает при нагрузке 8000 запросов в секунду в дневное время.

Разместив платформу в Yandex Cloud, DataGo! получила возможность быстро запускать продукты. Сейчас команда планирует уделить больше внимания архитектуре кластера и нюансам реализации решений с использованием ClickHouse.

Мнение

Константин Терешин,
CTO DataGo!
Константин Терешин,
CTO DataGo!

Платформа Yandex Cloud обеспечила широкий выбор готовых сервисов для построения стабильной и масштабируемой инфраструктуры для высоконагруженных сервисов с серверами на территории РФ. Данные инструменты позволили в сжатые сроки запустить продукт с нагрузкой в тысячи RPS с понятным алгоритмом масштабирования.