Использование IaaS-облака для нагруженного веб-проекта: опыт Hotels.ru

    Сегодня мы поговорим о том, как сервис бронирования отелей Hotels.ru несколько лет назад воспользовался услугами IaaS-инфраструктуры ИТ-ГРАД.




    Чем помогает IaaS-инфраструктура


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

    Средний бизнес не всегда может выделить единовременную сумму для значительного увеличения или обновления собственной ИТ-инфраструктуры. В этом случае стоит обратить внимание на те возможности, которые предоставляют IaaS-провайдеры.

    Рост базы проекта Hotels.ru составляет порядка 50%, поэтому возможность масштабирования инфраструктуры и ее производительность стали ключевыми факторами при работе с IaaS.

    Полевые испытания показали, что для достижения комфортной пользователю скорости выборки и пересчета вариантов необходимо 1,5k IOPS по дисковой системе. К тому же, показатель должен быть гарантированным, чтобы обеспечивать стабильный отклик сайта.

    На этом этапе отсеялась едва ли не половина предложений, так как конкретных гарантий по операциям ввода-вывода провайдеры старались избегать.

    По части надежности расчеты возможных потерь показали, что оптимальным SLA для нашего сервиса будет 99.5% и выше.


    — Команда Hotels.ru


    Инфраструктура проекта


    Целевая аудитория Hotels.ru — российские пользователи, поэтому сервис должен был обеспечить максимальную скорость открытия и бесперебойную работу в первую очередь для этого сегмента. Проект состоит из веб-приложения и базы данных, которые реализованы на Linux и PHP с MySQL.



    Нагрузку, генерируемая сотнями одновременных подключений из разных точек страны, балансирует vSphere. Помимо всего прочего была проведена оценка ущерба в случае ЧП:

    После расчетов объема потерь при гипотетической катастрофе, мы пришли к выводу, что для компании потери становятся ощутимы спустя сутки недоступности.

    А при RTO в размере суток нет надобности в системах репликации или чем-то подобном, поэтому мы ограничились бэкапом и резервной площадкой.


    — Команда Hotels.ru

    В рамках данного кейса был рассмотрен перенос в резервный дата-центр. В таком случае сетевая целостность обеспечивается с помощью BGP, а «учебные» переносы занимали около 16 часов. В итоге за пять лет работы Hotels.ru в IaaS-облаке каких-либо аварий не было.

    Преимущества IaaS


    Многолетнее сотрудничество с командой нашего IaaS-провайдера позволяет проекту открыто говорить о плюсах работы с виртуальной инфраструктурой.

    На этапе первоначальных работ представители Hotels.ru сомневались относительно переноса особо чувствительных систем, связанных с обработкой данных клиентов. Наш анализ ситуации показал необходимость использования шифрования — такой ход позволил снизить беспокойство и объективным образом повлиять на защищенность данных.

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

    Как только пик спал и по прогнозам повторений не предвидится — отключаем временно выделенные мощности, чтобы не платить лишнего.


    — Команда Hotels.ru

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

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

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


    — Команда Hotels.ru

    Стоит отметить и те возможности по обеспечению ИБ, которые предоставляет IaaS. Проекту Hotels.ru пришлось испытать на себе воздействие злоумышленников, которые организовали достаточно серьезную DDoS-атаку.

    Они воспользовались временной уязвимостью сервиса и отправляли поток запросов на сравнение цен в различных отелях. Атака производилась из источников, расположенных в 4 странах.

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

    Реагировать на угрозу пришлось быстро, и было принято решение временно блокировать входящий трафик из атакующих стран, благо действительно крупных среди них не было. Параллельно увеличили число соединений и вздохнули спокойно.


    — Команда Hotels.ru

    Что дальше


    Сегодня команда проекта выделяет основные ресурсы исключительно на развитие бизнеса и улучшение пользовательского опыта клиентов сервиса. В дальнейшем рассматривается возможность прохождения сертификации PCI DSS, которая позволит обрабатывать и хранить в пользовательских профилях информацию о банковских картах.

    Сегодня в России операторов IaaS с сертификатом PCI DSS, который по области действия охватывает администрирование, а не только размещение оборудования, можно сосчитать по пальцам одной руки. На наш взгляд, бизнес рано или поздно добавит этот пункт к обширному списку «облачных требований».

    — Команда Hotels.ru
    Метки:
    ИТ-ГРАД 122,80
    vmware iaas provider
    Поделиться публикацией
    Комментарии 5
    • +2
      Текста много, а полезной информации — маловато. Без тех. подробностей — просто рекламная статья двух фирм и водичка про то, зачем нужны облака.

      Про гибкость в испытании новых фич — непонятно. Тестируете на реальных пользователях? Каким образом идет распределение того, кому показывать старую версию, а кому новую? Как собираете и обрабатываете в таком случае информацию?

      Возможно, вопросы глупые, но мне интересно, т.к. с облаками пока мало приходилось сталкиваться.
      • +3
        Добрый день! Спасибо за комментарий. В следующих материалах-кейсах мы больше будем уделять внимание технической составляющей, в этой же статье раскрыт скорее идеологический аспект — многие до сих пор опасаются IaaS по разным причинам, но делать этого не стоит.
        Учтём ваши замечания!

        С другой стороны что касается гибкости в испытании новых фич — здесь речь идёт в первую очередь о скорости развертывания новых ресурсов под тестовые среды. Сам процесс тестирования не меняется от того, используем ли мы ресурсы облака в модели IaaS или разворачиваем копию прода в собственном дата-центре. Разница только в удобстве и скорости запуска этой тестовой среды.
      • +1
        Судя по similarweb, у вас 320К посещений в месяц. Если не секрет, откуда у вас берутся сотни тысяч одновременных подключений со всей страны?
        Мне на самом деле интересно, просто я такое видел только на проектах с посещаемостью на несколько порядков больше вашей в пики.
        • –2
          Есть сезонность, пики в отдельные моменты времени.
          Кроме того, количество подключений (TCP сессий) может быть значительным даже с одного компьютера.
          • +1
            Ок, ваша методика понятна. Буду теперь тоже всем говорить, что занимаюсь проектами с сотнями миллионов одновременных подключение со всей страны.

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое