Как повысить надежность SaaS и сократить расходы на IT-инфраструктуру: опыт «Маяка»
В кейсе рассказываем, как сервис «Маяк» мигрировал из прежнего облака в Selectel, чтобы повысить производительность и стабильность, а также сократить расходы на IT-инфраструктуру.
Задачи:
- Бесшовно перенести IT-инфраструктуру на ресурсы нового провайдера.
- Повысить производительность и стабильность инфраструктуры.
- Оптимизировать хранение данных.
- Делегировать поддержку систем на базе 1С.
Продукты и услуги Selectel:
О компании
«Маяк» — сервис аналитики и автоматизации продаж на маркетплейсах. Он помогает продавцам анализировать продажи, отслеживать цены конкурентов, управлять рекламой и оптимизировать карточки товаров. Вся информация с маркетплейсов объединена в едином веб-интерфейсе, где можно контролировать продажи и продвижение.
Вызовы и решения
Инфраструктура прежнего провайдера постепенно накапливала проблемы. Они напрямую влияли на доступность и бесперебойность работы сервисов.
Помимо общих перебоев, ключевой вызов для «Маяка» — взрывной рост данных по продажам и оборотам на маркетплейсах. Объёмы транзакций, каталогов, логистики, рекламы и цен меняются нелинейно, а в периоды распродаж поток увеличивается кратно. Прежняя инфраструктура уперлась в потолок по хранению, вычислениям и сети: замедлялись обновления витрин, возникали таймауты API и срывались ETL-окна, что напрямую отражалось на доступности аналитики.
Поэтому команда «Маяка» решила мигрировать к новому провайдеру.
Бесшовно перенести IT-инфраструктуру в Selectel
При планировании миграции команда сервиса столкнулась с рядом нетривиальных вызовов. Во-первых, переезд к новому провайдеру — это сложный процесс, а у команды «Маяка» были свои родмапы, в которые с трудом вписывается миграция. Во-вторых, важно было перенести сервис без перебоев для конечных клиентов. Также миграцию усложнили ограничения прежнего провайдера: нельзя было напрямую скопировать конфигурации серверов баз данных, поэтому пришлось отказаться от части стандартных инструментов и разработать собственный сценарий переноса сервисов.
Делегировали перенос сервисов специалистам Selectel
Учитывая ограничения прежней инфраструктуры и предстоящие трудозатраты, «Маяк» доверил миграцию своих сервисов команде администрирования Selectel.
Миграция была разбита на несколько этапов:
- анализ существующей инфраструктуры и расчет сайзинга (3 недели);
- подготовка плана и организация предварительных работ (1 неделя);
- миграция — проектирование инфраструктуры и сетей, развертывание и настройка сервисов, перенос данных (3 месяца).
Под капотом сервиса «Маяк» используется следующий стек технологий:
- Kubernetes для продакшн-нагрузки и обработки API-запросов к маркетплейсам;
- ClickHouse для обработки аналитических данных, например, продаж, карточек товаров и др.;
- PostgreSQL для обработки данных из кабинетов селлеров;
- Redis для кэширования и системы очередей;
- S3 для хранения файлов и «холодных» архивов.
Миграцию на новую инфраструктуру реализовали в несколько этапов.
Для переноса данных была настроена L3-связность через Direct Connect между двумя дата-центрами — прежнего провайдера и Selectel. Приватный канал исключил передачу данных через публичные сети, обеспечив безопасность и высокую пропускную способность. При этом трафик не тарифицировался — это особенно важно при переносе больших объемов данных, а в случае «Маяка» речь шла о нескольких терабайтах данных.
Миграцию виртуальных машин реализовали автоматически через сервис MIND Migrate. Он позволил перенести все ВМ в «горячем» режиме без изменения конфигураций и даунтайма.
Для переноса кластеров Kubernetes команда администрирования Selectel заранее развернула несколько инстансов и наполнила их системными сервисами. Kubernetes-кластеры и виртуальные машины описали через Terraform, что в будущем позволило «Маяку» внедрить подход Infrastructure as Code — управлению инфраструктурой через код.
Перенос облачных баз данных потребовал особого подхода. У команды «Маяка» не было доступа к конфигурациям СУБД прежнего провайдера, поэтому нельзя было заранее оценить профиль нагрузки и подобрать оптимальные параметры новых кластеров. Ситуацию осложняло большое количество операций чтения-записи на PostgreSQL-кластерах, а суммарный объем одного из них превышал 12 ТБ. Перенос ClickHouse был еще сложнее: объем данных превышал 20 ТБ.
Для миграции баз данных применяли логическую репликацию кластеров. В случае с PostgreSQL крупнейшие инсталляции перенесли на выделенные облачные серверы для баз данных. Производительность дисковой подсистемы таких серверов достигает до 1,5 млн IOPS, а пропускная способность — до 7 000 МБ/с. Для кластеров ClickHouse подобрали выделенные серверы произвольной конфигурации c дисками объемом 7 ТБ.
В итоге для конечных пользователей миграция оказалась бесшовной: включили репликацию, перенесли сервисы на новую инфраструктуру, переключились на новые хосты, отключились от прежнего провайдера — и все работает. Делегируя перенос систем команде администрирования Selectel, «Маяк» сэкономил более 500 человеко-часов работы. Кроме того, в результате миграции компания сократила стоимость IT-инфраструктуры на 20%, а услуга по ее миграции была бесплатной.
«Я хочу отметить огромный вклад всей команды Selectel, которая помогала нам с переездом. Специалисты с первых дней подключались к каждой проблеме и находили решения. Например, у нас произошел инцидент при переносе ClickHouse из-за нехватки ресурсов — к решению максимально оперативно подключилась команда Selectel, нам быстро заменили серверы и решили проблему».
Оптимизировать хранение аналитических данных
Сервис «Маяк» обрабатывает большие объемы данных с маркетплейсов, используя ClickHouse как основную аналитическую СУБД. Со временем объем накопленной информации значительно вырос, и часть данных использовалась крайне редко. При этом хранение всех данных в «горячем» хранилище на SSD-дисках сервера увеличивало стоимость инфраструктуры и создавало избыточную нагрузку на кластеры. Команде требовалось решение, которое позволило бы снизить затраты без потери скорости доступа к актуальным данным.
Интегрировали ClickHouse с S3-хранилищем
Чтобы оптимизировать расходы, специалисты «Маяка» реализовали многоуровневую схему хранения данных в ClickHouse. Актуальные и часто запрашиваемые данные остаются в «горячем» хранилище на SSD-дисках, обеспечивая максимальную производительность. При этом редко используемая аналитика автоматически переносится в «холодное» хранилище S3, где хранение обходится до 35 раз дешевле, чем в основном. Благодаря нативной интеграции ClickHouse с S3 доступ к данным из обоих уровней осуществляется бесшовно, без дополнительной логики и задержек.
Делегировать поддержку 1С
«Маяк» использует 1С как внутреннюю систему для учета расходов и доходов. Ранее администрирование платформы выполняла внутренняя IT-команда, однако обслуживание требовало значительных ресурсов и отвлекало от развития основного продукта. Требовалось надежное решение, позволяющее использовать 1С без погружения в техническое сопровождение — с гарантией стабильности и безопасности данных.
Арендовали готовое облако 1С
Для снижения нагрузки на внутреннюю команду компания использует готовое облако 1С. Бухгалтеры подключаются к системе через привычный интерфейс и работают с необходимыми данными напрямую, без участия администраторов. Таким образом, «Маяк» получил готовую к работе платформу 1С как облачную услугу, а IT-команда сосредоточилась на развитии собственного продукта.
Результаты
-
500
человеко-часов сэкономил «Маяк», делегируя миграцию команде администрирования Selectel.
-
на 20%
сократились расходы на IT-инфраструктуру в результате миграции в Selectel.
-
до 1,5 млн
IOPS достигает производительность дисковой подсистемы серверов PostgreSQL.
«В Selectel у нас все стабильно работает и мы уверены, что так же стабильно все будет работать и завтра. К тому же мы получили поддержку невероятного уровня, когда специалисты компании с первых дней подключались к каждой проблеме на всех этапах. Миграция не была простой: мы перевозили и виртуальные машины, и целые сервисы, и огромные объемы данных. И здесь без помощи Selectel было не обойтись».