«Черная пятница» — это одна из самых крупных распродаж. А учитывая эпидемиологическую ситуацию в этом году - вероятно покупатели будут штурмовать не офлайн магазины, а практически целиком сосредоточатся в интернете.
Для интернет-магазинов такое событие — это не только повод заработать, но и огромные нагрузки на все системы и серверы.
Из-за наплыва покупателей на сайты магазинов нагрузка на инфраструктуру увеличивается как минимум в два раза, а на пиках в четыре-шесть раз.
При этом повышение нагрузки приходится не только на внешние элементы инфраструктуры — интернет-магазин, приложение, которыми пользуются тысячи, или десятки тысяч пользователей сразу. Нагрузка повышается и на различных связанных с интернет торговлей системах - учетных системах таких как 1С (например, когда настроен обмен с сайтом, из 1С на сайт выгружаются товары, а с сайта заказы в 1С), CRM, колл-центр. Падение любого сервиса обернется потерей клиентов, упущенной прибылью, репутационными рисками.
Выстраивать локальную инфраструктуру под пиковые нагрузки самостоятельно сложно и очень дорого. Необходимо закупить и обслуживать оборудование, которое будет работать несколько раз в году. И даже оно не гарантирует, что система не обрушится в самое неподходящее время.
Чтобы обеспечить высокую доступность своей инфраструктуры, ритейл переходит на облачные решения. При этом резерв мощностей подключается и оплачивается только на нужное время.
Но только одного перехода недостаточно.
Перед проведением «черной пятницы», да и любого другого маркетингового мероприятия, распродажи, акции, скидки, рассылки по базе клиентов, важно проверить готовность проекта к повышенным нагрузкам. А именно:
-
собрать информацию о текущей нагрузке, при текущей средней посещаемости, понять на сколько сейчас загружены ресурсы;
-
проверить работу системы, подключить программистов (разработчиков сайта), для изучения работы кода проекта, медленных и узких мест, возможно потребуется оптимизация кода, запросов к базе данных и т.д. В некоторых случаях требуется оптимизация не со стороны кода, возможно кому-то будет полезным настроить кеширование в оперативной памяти (например подключить для этого Redis, или Memcached и т.д.), или провести оптимизацию со стороны данных, например использовать сжатие для картинок для уменьшения их размера и увеличения скорости загрузки, ведь сейчас многие посетители заходят на интернет магазины через мобильные устройства, не всегда «топовых» моделей и качество интернета не везде высоко, но каждый посетитель хочет что-то купить здесь и сейчас и он не может терять время пока загрузится страница, время, когда в ожидании загрузки страницы можно было приготовить кофе – давно в прошлом))
-
заблаговременно добавить ресурсы. До начала запуска активности расширить ресурсы, даже если нет четкого понимания на сколько увеличится нагрузка и какова будет посещаемость (можно конечно проанализировать опыт предыдущих активностей, если он имеется) - можно взять ресурсы с запасом, в облаке любого провайдера можно как вертикально масштабировать виртуальные машины (увеличивать число виртуальных ядер и Гб оперативной памяти), так и горизонтально (добавить виртуальные машины, распределить части системы таким образом чтобы разделить рабочие нагрузки). Но только одного добавления ресурсов недостаточно, после добавления ресурсов, нужно еще выполнить работы по изменению серверных служб, настроить их на работу с большим количеством ресурсов.
-
подключить мониторинг. Вообще использовать мониторинг желательно всегда, не только во время маркетинговых активностей, так вы будете понимать на сколько утилизированы выделенные для системы ресурсы, видеть, где есть проблемы, как часто проект не доступен и т.д.
-
подключить техническую поддержку. При наличии своих специалистов подключать платный тариф поддержки будет избыточным, но при отсутствии своих штатных инженеров, или их высокой загруженности, это отличная возможность, которая не будет лишней. Специалисты технической поддержки изучат работу проекта, разберут каждый компонент серверной архитектуры, подключат мониторинг и выполнят оптимизацию работы серверных служб для максимально эффективной работы системы исходя из своего опыта. А опыт инженеров провайдера всегда выше, чем опыт своего штатного администратора, поскольку у провайдера инженеры поддерживают сотни различных проектов и работают не один год.
Разберем тарифы технической поддержки.
У любого провайдера есть как минимум 2 тарифных плана технической поддержки:
1. Бесплатный
2. Платный
Многие клиенты выбирают бесплатный уровень поддержки, поскольку имеются свои специалисты, или попросту считают, что настроено все хорошо и нет надобности в постоянной поддержке проекта и мониторинге. На данном уровне как правило обеспечивается доступность базовой услуги – доступность вычислительных ресурсов, дисков и сети т.е. - доступность вашей виртуальной машины, но что и как работает внутри виртуальной машины провайдер не знает, для него в данном случае виртуальная машина клиента – черный ящик, доступность которого обеспечивается.
И как раз-таки для того, чтобы этот черный ящик открыть, разобрать что находится там внутри, знать не только на момент запроса что и как там внутри - и есть платные тарифы технической поддержки, на этих тарифах за каждым клиентом закрепляется выделенный специалист, который изучает серверную архитектуру, подключает мониторинг, оптимизирует работу служб, предоставляет какие-то рекомендации. И в случае, если что-то внутри ящика работает плохо, или сломалось – он об этом узнает и починит (конечно, если это связано с его обязанностями и входит в его полномочия).
Отдельные рекомендации для клиентов, использующих решения от 1С-Битрикс (BitrixVM):
-
подключить мониторинг;
-
обновить окружение BitrixEnv
-
обновить ядро битрикс и модули через админку сайта;
-
при выполнении агентов на хитах, перевести их выполнение на cron;
-
включить технологию – композит, проверить ее работу;
-
настроить кеширование не на диск (файлы), а в Memcached;
-
запустить сканер безопасности в модуле проактивной защиты, выполнить рекомендации по устранению. Важный момент – настроить компонент «Контроль активности», в нем настроена блокировка пользователей при выполнении ими определенного количества хитов, в некоторых случаях стандартного ограничения недостаточно и пользователь будет блокироваться на определённое время.
-
проверить подключение внешних вызовов с сайта, чтобы они не мешали загрузке основного контента, при подключении различных внешних систем таких как Jivosite, Mindbox, и т.д.
-
заблаговременно расширить вычислительные ресурсы сервера, или добавить сервера и распределить рабочие нагрузки, сделать кластер и т.д.
Преимущество для клиентов, использующих BitrixVM, в том, что им не нужно после добавления ресурсов серверу выполнять ручные настройки служб, это делает окружение BitrixEnv автоматически.
Подробнее о настройках сайта, разработанного на 1С-Битрикс, читайте статью от нашего партнера, разработчика сайтов.
Александр Прусенок, Solution Architect ActiveCloud