Москва
Мероприятия
Блог
Войти
main-bg
Блог

Как устоять в пиковых нагрузках: кейс онлайн-магазина и to-do list для архитектора решений

Одна из ключевых ИТ-задач онлайн-ритейлеров – это обеспечение устойчивости магазинов к пиковым нагрузкам во время распродаж и других периодов повышенного спроса. В крупных интернет-магазинах нагрузки во время акций Black Friday или Prime day предсказуемы, поэтому инфраструктуру к ним можно подготовить. Но бывают и неожиданные периоды активности, например, после успешной маркетинговой кампании. Как обеспечить отказоустойчивость системы во время пиковых нагрузок в облаке AWS, рассказывают архитектор решений AWS Сергей Курсон и архитектор решений AWS Softline Андрей Фирсов.

Как помогают сервисы AWS?

Задача

У заказчика была развернута классическая on-premise архитектура со множеством узких мест. После нескольких падений на пиковой загрузке заказчик обратился в AWS, чтобы подготовиться к «Черной пятнице». Требовалось создать инфраструктуру, устойчивую к резкому росту количества запросов. Главными требованиями были минимальная задержка, среднее число запросов порядка 20-30 тыс. в минуту и отсутствие падений.

Запросы обрабатывались на большом «монолитном» приложении .NET с минимальным набором внешних сервисов. Узким местом было то, что статический контент (изображения, видео, скрипты) раздавался с отдельной машины, которая никак не масштабировалась.

Решение

Было принято решение переносить инфраструктуру в облако «как есть», методом Lift&Shift. Миграция этим способом позволяет не переделывать архитектуру – приложения просто перемещаются на виртуальные машины, в данном случае EC2.

В начале переноса данных в облако случилось падение одной из зон в AWS, но потери данных удалось избежать, потому что все, что переехало, было в другой зоне. Тем не менее этот случай показал, что необходимо как можно скорее разделить приложение на несколько зон доступности (AZ) для отказоустойчивости. Далее команда проекта сразу же запустила Application Balancer, так как он автоматически масштабирует нагрузки.

Следующим шагом был подбор необходимых типов инстансов. Сначала выбрали инстансы T – недорогие и универсальные, с базовым уровнем производительности и возможностью ее увеличения с помощью механизма Burst, который потребляет CPU кредиты. Дело в том, что как только кредиты заканчиваются, производительность опускается на отметку 20-40% (в зависимости от типа инстанса). Этот режим работы не подходит для нагруженного сайта с долговременными нагрузками, поэтому необходимо было взять компьютеры с надежной производительностью – типа С. Также поставили ElasticSearch для отказоустойчивости в кластере на нескольких зонах доступности.

Для доставки статического контента использовали Amazon CloudFront, что позволило добавить механизм кэширования и разгрузить вычислительные ресурсы. Отдельной проблемой стало долгое масштабирование и деплой обновлений, потому что релизы могли проходить до нескольких раз в сутки. Ситуацию исправили, добавив деплой через Code-сервисы, в частности CodeDeploy, и подключив DevOps практики.

Финальные шаги выглядели следующим образом: базы данных переехали на Amazon RDS и Managed ElasticSearch. Для упрощения масштабирования, бэкапов и мониторинга баз данных начали использовать RDS. Позднее был добавлен Connection Pooler, который позволил разгрузить ресурсы базы данных, требовавшиеся для установления новых соединений.

Для развертывания был добавлен полезный механизм Blue Green, который позволяет вручную переключать две версии: на случай, если требуется сделать мгновенный откат или из двух версий подходит только одна. Для борьбы с DDOS, ботами и другими угрозами Web Application Firewall установили на CloudFront. Изначально, поскольку CloudFront отдавал содержимое с балансировщика, из-за небольшой ошибки по невнимательности установка WAF на балансере привела к блокировке IP CloudFront. Автоматизация в таких случаях очень важна – например, благодаря тонкой настройке масштабирования можно влиять на инфраструктуру буквально в течение разговора, корректируя метрики на единицы процентов и количество машин во флоте. Но нужно стремиться к максимальной автоматизации как можно большего количества процессов на основании правильных метрик и предварительного масштабирования, согласованного с маркетингом.

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

Подготовка к пиковым нагрузкам

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

Памятка по аудиту устойчивости систем 

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

Каковы ограничения на уровне баз данных и лимиты приложений?

Что делать?

Внешние сервисы

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

Лимиты

Чтобы увеличить лимит ресурсов, выделенных AWS для вашей учетной записи, потребуется обратиться в техническую поддержку. Это займет время, поэтому сперва нужно убедиться, есть ли возможность роста системы без превышения лимитов, и только, если это необходимо, запросить увеличение.

Узкие места

Проведение нагрузочного тестирования на копии production системы помогает выявить узкие места в модулях приложения и в узлах инфраструктуры.

Автомасштабирование

Нужно уточнить, включено ли автомасштабирование для ваших сервисов и есть ли сервисы, которые необходимо будет масштабировать. Важно подобрать тип инстанса с запасом, если нужно, запланировать время на обслуживание. Использование AWS Managed Services и EC2 AutoScaling позволяет проделать эти работы с минимальным временем простоя либо без него.

Сеть

Нередко многие выбирают тип инстанса только по параметрам CPU и Memory, но в моменты высокой нагрузки по трафику могут начаться проблемы, которые сложно отследить. Обратите внимание на тип инстанса со стороны пропускной способности сети – Network. Для разных серий и типов инстансов пропускная способность может быть от очень низкой до 100Гбит/с.

Пользовательская активность

Можно выделить сервисы, которые больше подвержены нагрузке при пользовательской активности. Здесь можно посмотреть на график изменения CPU, Network, Memory в течение светового дня.

Мониторинг

Необходимо знать, что происходит в системе по инфраструктурным метрикам AWS CloudWatch, так и по метрикам самого приложения. Система мониторинга – это один из немногих инструментов, который помогает быстро обнаружить и предотвратить проблемы при высокой нагрузке, либо отследить, в чем был сбой. Обычно заранее создаются дашборды с наиболее важными метриками.

Логи и метрики

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

Безопасный и быстрый деплой новых версий

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

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

Авторы: архитектор решений AWS Сергей Курсон и архитектор решений AWS Softline Андрей Фирсов

Чтобы узнать больше о решениях AWS, посетите наш раздел сайта Softline или напишите нам, чтобы обсудить ваш бизнес или технический вопрос.

Контакты:
Andrey.Firsov@softline.com

Теги:

Новости, истории и события
Смотреть все
SL Soft FabricaONE.AI (акционер — ГК Softline) помогла сети «О
Новости

SL Soft FabricaONE.AI (акционер — ГК Softline) помогла сети «О'КЕЙ» снизить затраты на планирование ротации на 13% с помощью модуля нормирования операций MD Audit

17.07.2026

ГК Softline и Минцифры Воронежской области планируют развивать сотрудничество в сфере технологий
Новости

ГК Softline и Минцифры Воронежской области планируют развивать сотрудничество в сфере технологий

16.07.2026

«Инферит Техника» (кластер «СФ Тех» ГК Softline) расширила партнерскую программу для сервисных компаний
Новости

«Инферит Техника» (кластер «СФ Тех» ГК Softline) расширила партнерскую программу для сервисных компаний

16.07.2026

Академия АйТи fabricaONE.AI совместно с ВШБТ ГУУ и РАБО усилила ИИ-компетенции руководителей бизнес-образования
Новости

Академия АйТи fabricaONE.AI совместно с ВШБТ ГУУ и РАБО усилила ИИ-компетенции руководителей бизнес-образования

14.07.2026

«Инферит» (кластер «СФ Тех» ГК Softline) и интегратор «Инфосистемы Джет» объявили о партнерстве
Новости

«Инферит» (кластер «СФ Тех» ГК Softline) и интегратор «Инфосистемы Джет» объявили о партнерстве

14.07.2026

«Инферит» (кластер «СФ Тех» ГК Softline) и «ИнфраМенеджер» заключили технологическое партнерство
Новости

«Инферит» (кластер «СФ Тех» ГК Softline) и «ИнфраМенеджер» заключили технологическое партнерство

13.07.2026

«Инферит» (кластер «СФ Тех» ГК Softline) и компания СТР объявили о сотрудничестве в области построения отказоустойчивых ИТ-инфраструктур
Новости

«Инферит» (кластер «СФ Тех» ГК Softline) и компания СТР объявили о сотрудничестве в области построения отказоустойчивых ИТ-инфраструктур

10.07.2026

ПАО «Софтлайн» объявляет о покупке 1,2 млн акций за неделю в рамках обратного выкупа и подтверждает намерение продолжать покупки акций Компании на Московской бирже
Новости

ПАО «Софтлайн» объявляет о покупке 1,2 млн акций за неделю в рамках обратного выкупа и подтверждает намерение продолжать покупки акций Компании на Московской бирже

10.07.2026

НОРБИТ и «Инферит» (кластер «СФ Тех» ГК Softline) внедряют комплексный подход к управлению ИТ-услугами и активами
Новости

НОРБИТ и «Инферит» (кластер «СФ Тех» ГК Softline) внедряют комплексный подход к управлению ИТ-услугами и активами

09.07.2026

РЕХАУ перевела управление проектами с Jira на отечественную платформу EvaTeam с помощью «Софтлайн Решений» (ГК Softline)
Новости

РЕХАУ перевела управление проектами с Jira на отечественную платформу EvaTeam с помощью «Софтлайн Решений» (ГК Softline)

09.07.2026

ГК Softline, Минцифры Челябинской области и ЮУрГУ договорились о сотрудничестве в сфере цифровой трансформации региона и роботизации
Новости

ГК Softline, Минцифры Челябинской области и ЮУрГУ договорились о сотрудничестве в сфере цифровой трансформации региона и роботизации

08.07.2026

ГК Softline объявляет о назначении Максима Кузюка генеральным директором кластера «Софтлайн Технологии» («СФ Тех»)
Новости

ГК Softline объявляет о назначении Максима Кузюка генеральным директором кластера «Софтлайн Технологии» («СФ Тех»)

08.07.2026

Test IT («Девелоника» fabricaONE.AI, акционер – ГК Softline) выпустила новую версию 5.8 Fornax с поддержкой MCP
Новости

Test IT («Девелоника» fabricaONE.AI, акционер – ГК Softline) выпустила новую версию 5.8 Fornax с поддержкой MCP

07.07.2026

Группа «Борлас» (ГК Softline) и НИУ МГСУ объединяют усилия в развитии технологий ИИ и цифровизации строительства
Новости

Группа «Борлас» (ГК Softline) и НИУ МГСУ объединяют усилия в развитии технологий ИИ и цифровизации строительства

07.07.2026

«Инферит» (кластер «СФ Тех» ГК Softline) и Агентство цифрового развития объявили о сотрудничестве
Новости

«Инферит» (кластер «СФ Тех» ГК Softline) и Агентство цифрового развития объявили о сотрудничестве

07.07.2026

ПАО «Софтлайн» сообщает о ходе исполнения обязательств в рамках сделки по приобретению Bell Integrator
Новости

ПАО «Софтлайн» сообщает о ходе исполнения обязательств в рамках сделки по приобретению Bell Integrator

06.07.2026

«Девелоника» (fabricaONE.AI, акционер – ГК Softline) представила Девелоника-GPT: защищенный контур, сохранение экспертизы и минимум рутины
Новости

«Девелоника» (fabricaONE.AI, акционер – ГК Softline) представила Девелоника-GPT: защищенный контур, сохранение экспертизы и минимум рутины

06.07.2026

ГК Softline заняла первое место среди крупнейших ИТ-поставщиков в российском ритейле
Новости

ГК Softline заняла первое место среди крупнейших ИТ-поставщиков в российском ритейле

06.07.2026

UEMaaS: как управлять смартфонами, планшетами, ноутбуками и рабочими станциями из одной консоли
Блог

UEMaaS: как управлять смартфонами, планшетами, ноутбуками и рабочими станциями из одной консоли

17.07.2026

Как понять, что вашу инфраструктуру уже взломали
Блог

Как понять, что вашу инфраструктуру уже взломали

08.07.2026

«Железо» без дефицита: российские компьютеры на базе DDR5
Блог

«Железо» без дефицита: российские компьютеры на базе DDR5

03.07.2026

PAM-системы в 2026 году: от хранилища паролей до интеллектуального щита для инфраструктуры
Блог

PAM-системы в 2026 году: от хранилища паролей до интеллектуального щита для инфраструктуры

02.07.2026

Аутсорсинг ИТ. 10 задач, которые выгоднее передать внешнему партнеру
Блог

Аутсорсинг ИТ. 10 задач, которые выгоднее передать внешнему партнеру

26.06.2026

Как быстро купить лицензионное ПО: пошаговая инструкция
Блог

Как быстро купить лицензионное ПО: пошаговая инструкция

25.06.2026

Почему промышленный ИИ остается локальным инструментом — и что с этим делать
Блог

Почему промышленный ИИ остается локальным инструментом — и что с этим делать

18.06.2026

Новые ИТ-льготы и запреты, ИИ в судах, дроны в медицине, контроль чипов и возвращение Roblox
Блог

Новые ИТ-льготы и запреты, ИИ в судах, дроны в медицине, контроль чипов и возвращение Roblox

11.06.2026

Облако на OpenStack: готовая замена VMware для бизнеса и госсектора
Блог

Облако на OpenStack: готовая замена VMware для бизнеса и госсектора

09.06.2026

ТОП-5 российских систем видеоконференцсвязи в 2026 году: сравнение особенностей и преимуществ
Блог

ТОП-5 российских систем видеоконференцсвязи в 2026 году: сравнение особенностей и преимуществ

04.06.2026

Как выбрать систему инвентаризации, учета и контроля ИТ-инфраструктуры: обзор 5 российских решений
Блог

Как выбрать систему инвентаризации, учета и контроля ИТ-инфраструктуры: обзор 5 российских решений

01.06.2026

Главные ИТ-новости недели 29.05.2026
Блог

Главные ИТ-новости недели 29.05.2026

29.05.2026

ИИ в образовании 2026: практика, инфраструктура, регулирование
Блог

ИИ в образовании 2026: практика, инфраструктура, регулирование

22.05.2026

Управление программными активами (SAM) — как эффективно распоряжаться ИТ-активами, избежать штрафов и выполнить требования регуляторов
Блог

Управление программными активами (SAM) — как эффективно распоряжаться ИТ-активами, избежать штрафов и выполнить требования регуляторов

19.05.2026

Как меняется инфраструктура образования: опыт российских школ
Блог

Как меняется инфраструктура образования: опыт российских школ

13.05.2026

Главные ИТ-новости недели 08.05.2026
Блог

Главные ИТ-новости недели 08.05.2026

08.05.2026

Электронные подписи в 2026: получить по биометрии, обновить «КриптоПро» и избежать штрафов
Блог

Электронные подписи в 2026: получить по биометрии, обновить «КриптоПро» и избежать штрафов

06.05.2026

Как сократить расходы на облачную инфраструктуру: распределение нагрузок на практике
Блог

Как сократить расходы на облачную инфраструктуру: распределение нагрузок на практике

29.04.2026