Кто монетизирует трафик

AdsCompass — это интеллектуальная платформа для монетизации трафика. Компания работает в сфере интернет-рекламы и служит связующим звеном между издателями и рекламодателями при покупке и продаже трафика по всему миру. Конкурентное преимущество AdsCompass в том и состоит, что компания занимается разработкой своей платформы, а не арендует стороннюю, как это распространено в сфере интернет-рекламы. AdsCompass начинала свою деятельность с нескольких десятков интернет-компаний, но за шесть лет развития партнёрская сеть расширилась. Сегодня у AdsCompass более пяти тысяч рекламодателей, число которых ежемесячно растет примерно на 10–15%. Кроме того, с 2018 года на платформе появилась возможность напрямую покупать интернет-рекламу через личный кабинет, а значит сеть пополнилась ещё и за счёт частных рекламодателей.

Следующий миллиард записей

Чтобы охватить всех партнёров из более чем 200 стран, сервисы, отвечающие за нагрузку, работают в двух ЦОД в Европе и США на собственном железе. На данный момент обрабатываемый трафик генерирует более 4 млрд записей статистики в сутки. Запись происходит с нескольких десятков серверов в один кластер ClickHouse. Ежемесячно происходит прирост объёма трафика в среднем на 6-10%.

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

Тогда были определены задачи:

  • увеличить стабильность работы кластера,
  • сократить затраты на поддержку и развитие инфраструктуры, чтобы сосредоточиться непосредственно на продукте.

Миграция и тестирование

Толчком к переходу на Yandex.Cloud стало появление Yandex Managed Service for ClickHouse.

Переезд кластера в Yandex Managed Service for ClickHouse был осуществлён силами главных разработчиков AdsCompass. Процесс, включавший тестирование и постепенный полный перевод трафика, занял меньше недели.

На начальном этапе одновременно писали данные в свой кластер и в Yandex.Cloud для того, чтобы выявить наличие неучтённых лимитов. Также в первые дни проведены еще несколько штатных проверок, в том числе:

  • тестирование с целью «поймать» возможные всплески трафика,
  • проверка функционирования облачного сервиса в ситуации, когда после паузы объём записей значительно увеличивается с целью «догнать запись».

Обновление кластера и сохранность данных

Первым результатом переезда стало почти полное сокращение затрат временных ресурсов на поддержку кластера, не считая короткого общения с поддержкой Yandex.Cloud. Также по итогам переезда в AdsCompass отмечают рост стабильности работы кластера. Регулярное обновление кластера до новых версий происходит с минимальным простоем. Уже был случай, когда поддержка Yandex.Cloud решала проблемы с железом, все данные остались целы. После переезда уже складывалась непростая для решения ситуация, когда место на дисках закончилось скачком. Через веб-интерфейс удалось быстро увеличить квоты и расширить место.

AdsCompass планирует использовать в своей деятельности также сервисы управляемых баз данных PostgreSQL, облачных вычислений Compute Cloud, а также сервис по управлению Docker образами — Container Registry, сервис очередей сообщений — Message Queue. Разработчики планируют написать скрипт для очистки партиций и рассчитывают на появление решений в этом направлении.

Мнение

Андрей Привалов,
ведущий разработчик AdsCompass
Андрей Привалов,
ведущий разработчик AdsCompass

Повышение стабильности и экономия — не единственные результаты этого проекта. Раньше были случаи, когда при остановке кластера ClickHouse у нас копилась статистика для последующей записи. Если на дисках заканчивается место и файлы статистики больше некуда писать, их как-то придётся удалять. Удаление статистики — это прямые потери данных, в том числе финансовых. Потеря даже небольшого объема финансовых данных может привести к ухудшению отношений с клиентами, а это уже большие репутационные риски. С Yandex Managed Service for ClickHouse мы забыли о таких рисках.