Как пережить «Черную пятницу»‎ без потерь?

Чек-лист для подготовки IT-инфраструктуры.

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

Шаг 1: Проведите исследование

  • Оцените текущую нагрузку: какая ежедневная норма трафика? С какой максимальной нагрузкой уже справлялась инфраструктура? 
  • Спрогнозируйте нагрузку во время пика: как она должна вырасти? Изучите аналитику прошлых лет или посоветуйтесь с более опытными коллегами.
  • Определите, хватит ли мощностей. Проведите нагрузочное тестирование, обратите внимание на скорость работы сайта и загрузки страниц.
  • Узнайте, есть ли сотрудники с компетенциями, необходимыми для масштабирования. Если нет, обратитесь за помощью к провайдеру.

Шаг 2: Позаботьтесь о «гигиене»‎  

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

  • Оптимизируйте приложение или сайт: «почистите» код, фронтенд и бэкенд от лишних сущностей, которые могут привести к торможению загрузки страницы сайта или работы сервиса. Например, от чрезмерных пробелов, встроенных стилей, пустых строк и ненужных комментариев.
  • Настройте систему восстановления из бэкапов с минимальным даунтаймом (0-2 секунды).

Шаг 3: Продумайте планы «А»‎ и «Б»‎   

Следующий шаг — планирование действий во время распродажи. Важно предусмотреть все возможные сценарии:

  • Выберите необходимый тип масштабирования: вертикальный или горизонтальный.

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

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

Шаг 4: Не теряйте бдительность во время распродажи

Предварительная подготовка завершена, переходим к активным действиям. Для этого:

  • докупите необходимые мощности (согласно плану) или оптимизируйте работу текущей инфраструктуры.
  • не расслабляйтесь во время распродажи — будьте готовы перейти к плану «Б»‎ и оперативно решать внештатные ситуации.

Шаг 5: Вернитесь к прежним нагрузкам

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

Если не хотите возвращаться к чек-листу перед следующей распродажей, подумайте об автоматизации процессов. Так, выбрав облачные серверы и такие сервисы, как облачные базы данных и Managed Kubernetes, не придется больше думать о масштабировании. Ресурсы этих продуктов увеличиваются автоматически, как только у вас повышается нагрузка — вы платите только за используемые мощности.

От теории к практике: кейс про работу с нагрузками в 4-5 раз выше нормы в пик продаж 

Задача:

У наших клиентов, известной спортивной команды, в дни продажи билетов на крупные матчи нагрузка на сайт росла в 4-5 раз. Они искали решение, которое бы позволило масштабировать производительность в дни массового спроса с минимальными расходами.

Процесс:

Мы подготовили решение на базе облачной платформы Selectel. Использовали сервис Managed Kubernetes и добавили DevOps-процессы от нашей команды:

  • провели анализ приложений и рассказали, как адаптировать их к Managed Kubernetes;
  • настроили процесс разработки в соответствии с требованиями новой платформы.

Результат:

Даже с учетом расходов на DevOps, затраты заказчика стали на 40 % ниже, чем при постоянном использовании требуемых при расчетной нагрузке мощностей.

Хотите подготовиться к сезону распродаж заранее? Выбирайте услуги или сервисы под ваши задачи и проекты:

Подробнее о том, как подготовить инфраструктуру к распродажам, рассказали на вебинаре.

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

Михаил Фомин 29 апреля 2022

Деплой — это лава! Как Managed Kubernetes помогает бизнесу тушить пожары

Рассказываем, как бизнес переходит от монолита к микросервисам и как Managed Kubernetes позволяет эффективнее управлять инфраструктурой.
Михаил Фомин 29 апреля 2022
Дарья Маташина 25 апреля 2022

Разбор: для каких проектов и задач необходим CDN и кому он вреден

CDN помогает ускорить загрузку контента, а также снизить нагрузку на серверы. О том, кому и в каких ситуациях подойдет и не подойдет сервис — в тексте.
Дарья Маташина 25 апреля 2022
Ульяна Малышева 22 апреля 2022

Container Registry: кому нужен и как использовать готовый реестр контейнеров

Рассказываем о решении, которое ускорит деплой приложений и сделает работу с контейнерами более удобной.
Ульяна Малышева 22 апреля 2022

Новое в блоге

Сравнение способов организации мультиклауд-решений

Рассказываем о типах мультиклауд-решений и схемах подключения к зарубежным облакам

Сетевые протоколы: базовые понятия и описание самых востребованных правил

В мире существует более 7 000 протоколов, и их число продолжает расти. Рассказываем о самых часто используемых правилах взаимодействия устройств в сети.

Готовые кластеры Kubernetes: легкий старт, автоматизация и другие преимущества перед self-hosted

Рассказываем, чем отличается Managed Kubernetes от самостоятельного развертывания инфраструктуры. Объясняем, кому подойдет решение.
T-Rex 18 мая 2022

Что такое терминальный сервер и зачем он нужен

Разбираемся, что такое терминальный сервер, чем он похож на VDI и как подобрать сервер под роль терминала.
T-Rex 18 мая 2022