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

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

Дарья Маташина
Дарья Маташина Продуктовый редактор
22 ноября 2022

Изображение записи

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Managed Kubernetes также позволяет экономить на собственной команде DevOps-инженеров.

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

Задача:

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

Процесс:

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

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

Результат:

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

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

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