Опыт AdsCompass: оптимальная поддержка кластера в Yandex Managed Service for ClickHouse
AdsCompass — это интеллектуальная платформа для монетизации трафика. Компания работает в сфере интернет-рекламы и служит связующим звеном между издателями и рекламодателями при покупке и продаже трафика по всему миру. Конкурентное преимущество AdsCompass в том и состоит, что компания занимается разработкой своей платформы, а не арендует стороннюю, как это распространено в сфере интернет-рекламы.
AdsCompass начинала свою деятельность с нескольких десятков интернет-компаний, но за шесть лет развития партнерская сеть расширилась. Сегодня у AdsCompass более пяти тысяч рекламодателей, число которых ежемесячно растет примерно на 10—15%. Кроме этого, с 2018 года на платформе появилась возможность напрямую покупать интернет-рекламу через личный кабинет, а значит сеть пополнилась еще и за счет частных рекламодателей. Чтобы охватить всех партнеров из более чем 200 стран, сервисы, отвечающие за нагрузку, работают в двух ЦОД в Европе и США на собственном железе. На данный момент обрабатываемый трафик генерирует более 4 млрд записей статистики в сутки. Запись происходит с нескольких десятков серверов в один кластер ClickHouse. Ежемесячно происходит прирост объема трафика в среднем на 6-10%.
Задача AdsCompass
Компания столкнулась с необходимостью постоянно наращивать технические мощности, увеличивать затраты на поддержку кластера ClickHouse на собственном железе. Также прямо пропорционально масштабу бизнеса росли потери от падений в работе кластера.
Компания поставила задачи:
- Увеличить стабильность работы кластера,
- Сократить затраты на поддержку и развитие инфраструктуры, чтобы сосредоточиться непосредственно на продукте.
Решение
«Толчком к переходу на Яндекс.Облако было именно появление Yandex Managed Service for ClickHouse, — объясняет Андрей Привалов, ведущий разработчик AdsCompass. — Если не ошибаюсь, есть и другие предложения на рынке, но тот факт, что Яндекс является разработчиком этой базы данных, сыграл большую роль в выборе в пользу Managed Service for ClickHouse».
Переезд кластера в Yandex Managed Service for ClickHouse был осуществлен силами главных разработчиков AdsCompass. Процесс, включавший тестирование и постепенный полный перевод трафика, занял меньше недели.
На начальном этапе одновременно писали данные в свой кластер и в Яндекс.Облако для того, чтобы выявить наличие неучтенных лимитов. Также в первые дни проведены еще несколько штатных проверок, в том числе:
- тестирование с целью «поймать» возможные всплески трафика;
- проверка функционирования облачного сервиса в ситуации, когда после паузы объем записей значительно увеличивается с целью «догнать запись».
Результаты
Первым результатом переезда стало почти полное сокращение затрат временных ресурсов на поддержку кластера, не считая короткого общения с ТП Яндекс.Облака. Также по итогам переезда в AdsCompass отмечают рост стабильности работы кластера. Регулярное обновление кластера до новых версий происходит с минимальным простоем. Уже был случай, когда поддержка Яндекс.Облака решала проблемы с железом, все данные остались целы.
После переезда уже складывалась непростая для решения ситуация, когда место на дисках закончилось скачком. Через веб-интерфейс удалось быстро увеличить квоты и расширить место.
AdsCompass планирует использовать в своей деятельности также Managed PostgreSQL, Compute Cloud, Container registry и Message Queue. Разработчики планируют написать скрипт для очистки партиций и рассчитывают на появление решений в этом направлении.
Мнение
Повышение стабильности и экономия — не единственные результаты этого проекта. Раньше были случаи, когда при остановке кластера ClickHouse у нас копилась статистика для последующей записи. Если на дисках заканчивается место и файлы статистики больше некуда писать, их как-то придется удалять. Удаление статистики — это прямые потери данных, в том числе финансовых. Потеря даже небольшого объема финансовых данных может привести к ухудшению отношений с клиентами, а это уже большие репутационные риски. С Yandex Managed Service for ClickHouse мы забыли о таких рисках.уточняет Андрей Привалов, ведущий разработчик AdsCompass