Как Ostrovok.ru выбрал Selectel и выиграл

Несколько лет назад сервис онлайн-бронирования отелей Ostrovok.ru перевел инфраструктуру с облака Amazon Web Services на серверы Selectel. Издержки миграции окупились за месяц, а стоимость хостинга уменьшилась в два раза. В рамках фестиваля «Российские интернет-технологии-2020» руководитель отдела инфраструктуры сервиса Денис Божок рассказал о причинах переезда, архитектурных ограничениях и старом добром heavy bare-metal.

О выборе Amazon Web Services

До переезда мы жили на паре десятков серверов в маленьком дата-центре и четкого плана по переходу на облачные платформы у нас не было. Но с ростом числа отелей на сайте росло и количество их фотографий. К 2014 году объем визуального контента составлял порядка 4-5 терабайт.

Для дальнейшего роста нужно было думать над масштабированием хранилища фотографий, искать удобные инструменты для их хранения и резервирования. Тогда и пришла мысль попробовать решение от AWS — его легендарное S3 хранилище.

Дата-центры Amazon расположены более чем в 20 регионах по всему миру. В Европе на данный момент выделено пять регионов — Милан, Париж, Лондон, Франкфурт и Ирландия.

Об отсутствии необходимых сервисов

Шесть лет назад мы «заезжали» в регион Франкфурт. На тот момент он был молодым, и все сервисы, уже внедренные в более зрелых регионах, до него доходили с задержкой. Не раз бывало, что нам нужен был функционал сервиса, которого либо не было совсем, либо он отсутствовал в нашем регионе.

Например, в наш регион завезли спотовые инстансы — аукцион серверных мощностей, благодаря которому можно сэкономить до 90% их стоимости. Но инструментов, позволяющих настроить автоматический заказ нужных серверов, не было. Приходилось заходить в консоль аукциона, выбирать тип инстанса, устанавливать цену, добавлять новые «виртуалки» в кластер. Неэффективная трата времени и высокий шанс упустить изменение цен. Поэтому мы создали свой менеджер спотов, который заказывал нужные серверы по подходящим ценам и сам добавлял их в кластер. Аналогичный инструмент — spot fleet — на Amazon Web Services появился лишь спустя несколько лет.

Точно так же нам пришлось оптимизировать работу с системой управления базами данных DynamoDB от AWS. Одна из ее фишек в том, что ты платишь за IOPS (количество операций ввода-вывода в секунду) и сам можешь выставлять лимиты по операциям. Это удобно, но, опять же, не было автоматизированного управления. Поэтому мы разработали собственный механизм, который выставлял подходящие нам лимиты IOPS и регулировал их по мере необходимости.

Кроме того, долгое время в AWS не было удобных инструментов для работы с Docker, которым мы уже активно пользовались. Поэтому до появления подходящих нам сервисов на Amazon Web Services справлялись своими силами.

В целом, не могу назвать перечисленные ситуации критичными. При переходе из облака на решения on-premises будьте готовы, что многие процессы, выполняемые ранее облачным провайдером, перейдут в вашу зону ответственности. Идеальное решение — то, что максимально подходит под ваши требования и особенности компании.

Денис Божок: «В 2016 году мы задумались о смене провайдера»

О причинах переезда

В 2016 году мы задумались о смене провайдера и начали поиск на российском рынке. Причин для переезда c облака от Amazon было несколько.

Во-первых, мы хотели оптимизировать расходы. Все-таки AWS, несмотря на относительное удобство, стоит немалых денег. Мы понимали, что можем эффективнее использовать наши ресурсы. Кроме того, нам нужно было следовать № 152-ФЗ, который требует хранения персональных данных на территории России.

Для миграции инфраструктуры мы выбрали Selectel. Здесь сработало сарафанное радио: наши знакомые были клиентами компании и дали хорошие отзывы. Решили попробовать. Связались с менеджерами, обсудили условия и договорились, что, если не будет хватать текущих возможностей, Selectel поможет.

Нас это устроило, взяли курс на миграцию — с облака в «железо».

Об экономии

По грубым подсчетам, сервис подешевел двукратно после переезда на серверы Selectel. Конечно, это не значит, что любой переезд с зарубежного провайдера на отечественный будет таким же выгодным. Однако практика показывает, что усилия, потраченные на миграцию, как правило, окупают себя в первый месяц. Приятный бонус для Ostrovok.ru состоял в том, что вместо виртуальных серверов мы получили физическое оборудование, полностью соответствующее нашим требованиям. На данный момент у нас порядка 400 серверов в Selectel.

Справедливости ради добавлю, что фотографии, из-за которых мы изначально пришли в Amazon Web Services, пока остались там же, в S3 хранилище. Объем фотографий с 2014 года вырос до 70 терабайт. Все остальное — базы с персональными данными, поисковые кластеры и служебные сервисы — мы перевезли. В планах есть окончательная миграция, но это операция непростая.

О «граблях»

Тут могу сказать одно: у каждого будут свои «грабли». И это нормально. Главное — понимать цель переезда.

Мы столкнулись с многими архитектурными ограничениями. Так, нам нужно было настроить общую сеть между физическими серверами и нашими VPC (Virtual Private Cloud, «виртуальное частное облако») в Облачной платформе Selectel. На VPC мы переносим сервисы, которые неприхотливы к объему ресурсов. Например, кластер DNS-серверов у нас расположен в частном облаке — удобно и надежно. Иногда можем развернуть какой-нибудь тест на VPC, удалив облако по завершении задачи.

Так вот, готового решения для обеспечения связи между серверами и VPC на тот момент не было. Тогда мы с помощью ребят из Selectel организовали L2-связность, которой пользуемся по сей день. Сейчас подобная услуга доступна для всех клиентов «из коробки».

При работе с «железом» важно держать в голове свойственные ему минусы. Из своего опыта я бы выделил два ярких нюанса:

  1. Конфигурации серверов в кластерах нужно держать актуальными и своевременно заменять на новое «железо». В противном случае можно упереться в отсутствие необходимых комплектующих.
  2. Перед вводом серверов в эксплуатацию нужно самим подобрать тесты на их соответствие текущей конфигурации. Случается так, что одинаковые по конфигурации серверы отличаются по производительности. Лучше это обнаружить до введения сервера в кластер.
Офис компании Ostrovok.ru

О старом добром heavy bare-metal

Конечно, будь инфраструктура в облаке, со многими описанными проблемами мы бы не столкнулись. Но после цикла «железо-облако-железо» пришли к выводу: для Ostrovok.ru нет ничего лучше старого доброго heavy bare-metal.

Проблема любого облака — vendor lock-in, или привязка к поставщику. Если кратко, ты подсаживаешься на облачные сервисы, того же Amazon, и теряешь свободу передвижений. Например, съехать с Relational Database Service (база данных от Amazon) на свою «ламповую» базу данных без простоя очень проблематично.

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

Выбор «железа» — наше решение, обусловленное опытом и особенностями работы компании. У нас и разработка, и релизы достаточно предсказуемы. Когда на Ostrovok.ru ожидается рост из-за сезонности или маркетинговых акций, мы заранее обеспечиваем рост количества серверов. Либо скидываем лишние, если нагрузка снижается.

О важности поддержки

У меня был опыт взаимодействия как с зарубежной, так и с российской технической поддержкой.

Иностранная построена на простой логике: хочешь поддержку — плати деньги. Хочешь быструю поддержку — плати еще больше денег. Кроме того, на AWS приходилось оплачивать поддержку для каждого нашего аккаунта — одна подписка на несколько, даже сопряженных, не распространялась.

Звучит невероятно, но российская техподдержка работает более оперативно. В Selectel, например, в панели управления есть чат, в котором можно связаться со специалистом и в адекватные сроки получить ответ. Без дополнительных подписок и премиум-аккаунтов.

Также за годы хостинга в Selectel мы вошли в список ключевых клиентов компании и получили отдельную линию поддержки — Customer care. Нам сразу дают апдейт по задаче, отвечают быстро и в любое время суток, не нужно ждать официального старта рабочего дня.

Работа поддержки — важный нюанс. Одно дело, когда инженер не может настроить сервис и ему нужна помощь. Другое — когда сервис свежий и в нем есть ошибки на стороне провайдера. С таким за годы хостинга на AWS мы тоже сталкивались. Во втором случае платить за премиум-поддержку, как мне кажется, неправильно. Ведь ты платишь за то, чтобы сообщить специалистам облака об их багах.

Об оптимизации во время пандемии

Так как нагрузка на серверы снизилась, то и требований к количеству оборудования стало меньше. Первое, что мы сделали: посчитали риски; прикинули, сколько понадобится серверов, когда пользователи вернутся на сайт; отказались от лишнего.

Вторым этапом оптимизировали дорогие сервисы. Как раз появился явный стимул «отрефакторить» то, что давно хотелось, в пользу как архитектуры, так и экономики. В итоге скинули еще несколько серверов.

Мы и до коронавируса пересматривали наши решения с точки зрения эффективности. Поэтому эпидемия не сильно повлияла на наши методы оптимизации. Скорее наоборот, она подтвердила, что и раньше мы все делали правильно.


Если вы задумались о смене провайдера хостинг-услуг, вот на что стоит обратить внимание:

  1. Обозначьте проблему, которую вы хотите решить. Осознав ее, просчитайте экономическую целесообразность. Она складывается как из прямых расходов за сервисы, так и из времени, которое ваши сотрудники тратят на администрирование.
  2. С четкой целью можно начать изучать рынок: кто из компаний лучше всех поможет вам решить проблему. Если альтернатив несколько, отталкивайтесь от качества и скорости технической поддержки.
  3. Если ваш бизнес акцентирован на российский рынок, присмотритесь к отечественным провайдерам. Так стоимость услуг будет меньше зависеть от перепада курсов валют.
  4. Хотя бы раз в полгода нужно пересматривать оптимальность и эффективность работы ваших сервисов. Не откладывайте оптимизации на потом. Постоянное совершенствование архитектуры сделает существование вашего бизнеса более уверенным в непредвиденных ситуациях.

Текст написан на основе открытого интервью Дениса Божок с архитектором облачных решений Selectel Романом Тимофеевым. Интервью состоялось в рамках онлайн-фестиваля «Российские интернет-технологии-2020» 26 мая.

Ostrovok.ru – сервис онлайн-бронирования отелей. Компания предоставляет клиентам более 1 300 000 вариантов размещений в гостиницах, хостелах и апартаментах от прямых поставщиков и крупных партнеров. Входит в Emerging Travel Group, которая управляет четырьмя тревел-брендами: Ostrovok, B2B.Ostrovok, ZenHotels, RateHawk.

Что еще почитать по теме

Ульяна Малышева 8 сентября 2022

Продуктовый дайджест: серверы в Сибири и дефицитные A100

Рассказываем о продуктовых обновлениях последнего месяца.
Ульяна Малышева 8 сентября 2022
Михаил Фомин 11 августа 2022

Скидка 25% на миграцию и советы по оптимизации затрат на IT-инфраструктуру

Рассказываем о том, как оптимизировать расходы на IT-инфраструктуру и комфортно мигрировать от зарубежного провайдера со скидкой 25%
Михаил Фомин 11 августа 2022
Андрей Зайцев 10 августа 2022

Продуктовый дайджест: новые серверы, процессоры, бэкапы и Kubernetes 1.24

Скидки на наши услуги, новые конфигурации серверов и ускорение работы бэкапов по расписанию.
Андрей Зайцев 10 августа 2022

Новое в блоге

Михаил Фомин 24 июня 2022

Docker Swarm VS Kubernetes — как бизнес выбирает оркестраторы

Рассказываем, для каких задач бизнесу больше подойдет Docker Swarm, а когда следует выбрать Kubernetes.
Михаил Фомин 24 июня 2022
Владимир Туров 5 октября 2022

DBaaS: что такое облачные базы данных

Рассказываем о сервисе управляемых баз данных в облаке и объясняем, как разделяется ответственность за работу кластеров БД между провайдером и клиентом.
Владимир Туров 5 октября 2022
Ульяна Малышева 30 сентября 2022

«Нулевой» локальный диск. Как мы запустили облако только с сетевыми дисками и приручили Ceph

Чем хороши сетевые диски и почему именно Ceph, рассказал директор по развитию ядра облачной платформы Иван Романько.
Ульяна Малышева 30 сентября 2022
Валентин Тимофеев 30 сентября 2022

Как проходит онбординг сотрудников ИТО? Что нужно, чтобы выйти на смену в дата-центр

Рассказываем, как обучаем новых сотрудников, какие задачи и испытания проходят инженеры прежде, чем выйти на свою первую смену.
Валентин Тимофеев 30 сентября 2022