Рекламные технологии (AdTech)

Платформа под ключ

Построение современной инфраструктуры для оператора рекламных данных за 1.5 месяца

Задача

Вся инфраструктура клиента держалась на одной виртуальной машине с приложением и базой данных объемом 2 ТБ, а хранение кода было организовано через сторонний сервис по подписке без контроля над ним. Резервное копирование базы данных пытались делать штатными средствами, но один бэкап занимал 3-4 дня, из-за чего фактически не выполнялось. Обновления выходили раз в месяц крупными пакетами по выходным с остановкой сервиса, а разработка велась прямо на рабочей системе.

Что сделано

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

Результат

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

Ситуация до начала работ

Клиент - оператор рекламных данных. Вся техническая инфраструктура держалась на одной виртуальной машине: там же работало основное приложение и база данных объемом около 2 ТБ. Хранение кода было организовано через сторонний сервис по подписке, без собственного контроля над ним.

Резервное копирование пытались делать штатными средствами базы данных, но из-за большого объема один бэкап занимал 3-4 дня - фактически это означало, что бэкапы почти не делались, и в случае сбоя данные было бы не восстановить.

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

Что мы сделали

За полтора месяца полностью пересобрали техническую основу бизнеса:

  • Развернули собственный кластер для запуска приложений, что дало гибкость и отказоустойчивость взамен одной виртуальной машины;
  • Перенесли хранение кода на инфраструктуру клиента вместо стороннего сервиса по подписке;
  • Настроили резервное копирование базы данных на современном инструменте со сжатием - время создания бэкапа базы объемом 2 ТБ сократилось с 3-4 дней до одного часа;
  • Выстроили понятный релизный процесс и схему работы с кодом (git flow), которая позволяет безопасно откатывать изменения и быстро выпускать срочные исправления;
  • Настроили автоматическую поставку обновлений без остановки сервиса - вместо одного крупного релиза в месяц бизнес перешел на регулярные плановые обновления дважды в неделю;
  • Разделили инфраструктуру на три независимых контура - для разработки, тестирования и рабочей системы - чтобы изменения проверялись перед тем, как попасть к пользователям;
  • Заменили медленное сетевое хранилище на современное объектное хранилище - ускорили работу с файлами;
  • Подключили систему мониторинга и оповещений о сбоях;
  • Развернули защищенное хранилище для паролей и ключей доступа;
  • Описали всю инфраструктуру кодом - теперь ее можно быстро восстановить или воспроизвести, а изменения в ней прозрачны и контролируемы.

Результат

  • Бизнес больше не зависит от одной виртуальной машины - инфраструктура устойчива к сбоям;
  • Поставка новых функций ускорилась в разы: вместо одного крупного релиза в месяц - регулярные обновления по средам и пятницам, без остановки сервиса;
  • Резервное копирование базы данных объемом 2 ТБ стало занимать час вместо нескольких дней - данные впервые оказались надежно защищены;
  • Появилась возможность безопасно откатить изменения или быстро выпустить срочное исправление при необходимости;
  • Появилась полная видимость состояния системы и оповещения о проблемах;
  • Вся инфраструктура описана кодом - независимо от конкретного специалиста, ее можно поддерживать и развивать дальше.

Разберём вашу текущую ситуацию и определим следующий практический шаг.

Обсудить задачу