АТЛАНТА — При работе в масштабе сети реагирование на растущий спрос означает, что вы уже отстаете от графика, — посоветовал дуэт инженеров Amazon на конференции Kubecon + CloudNativeCon NA, состоявшейся на прошлой неделе в Атланте.
Два инженера Amazon выступили с основным докладом, в котором рассказали, как компания готовится к значительному увеличению клиентского трафика, не нарушая при этом бюджет и не поддаваясь неоптимальному обслуживанию.
Учитывая, что на следующей неделе приближается Черная пятница, их советы могут помочь другим интернет-торговцам оставаться в рабочем состоянии даже в экстремальных условиях.
Kubecon 25: Артур Соуза и Чунпэн Ван из Amazon (справа). Фото: ТНС
Короче говоря, реактивное масштабирование, стандартная практика добавления дополнительных серверов, когда нагрузка приближается к мощности, необходима, но недостаточна в эти тяжелые дни трафика.
«Этого недостаточно», — объяснил Артур Соуза, главный инженер Amazon. «К тому времени, когда ваши системы мониторинга обнаруживают высокую загрузку ЦП и запускают действия по масштабированию, вы уже отстаете от этой тенденции, и значительная часть ваших клиентов уже затронута».
Поэтому гигант розничной торговли обратился к прогнозному моделированию.
Подготовка к событиям с пиковым трафиком, таким как Черная пятница
Каждый год у компании случаются несколько периодических всплесков трафика, особенно в «Черную пятницу», и каждый год инженеры оценивают, насколько велики будут эти всплески. В сша Черная пятница — это день после Дня Благодарения, когда многие люди не работают и стремятся заняться покупками к предстоящему курортному сезону.
Покупки в Черную пятницу фактически начинаются в четверг вечером, когда компания сразу же замечает увеличение трафика. За ночь оно стихает, но на следующий день возвращается. На выходных он стабилизируется, но возвращается в понедельник (часто называемый Черным понедельником).
Первоначальный пик, показанный на графике выше дважды, слишком крут для одного только реактивного масштабирования.
В таких случаях Amazon научилась иметь уже работающие свободные мощности.
Эти события, как объяснили инженеры, «имелибольшие разбросы между пиком и средним значением», что означает, что максимальное количество пользователей намного превышает среднее число.
И все эти пользователи являются потенциальными платежеспособными клиентами. Поэтому, когда так быстро появляется так много пользователей, Amazon хочет удовлетворить всех, чтобы не потерять доход.
Просыпайся, детка: новые показатели производительности Amazon упали
Полезным показателем для компании является среднее время в пути (MTT), что по сути представляет собой среднее время, необходимое новому экземпляру службы через контейнер или без сервера, чтобы начать принимать пользователей. MTT используется для реактивного масштабирования, чтобы определить, когда понадобится следующий экземпляр, на основе загрузки ЦП каждого экземпляра.
Проактивное масштабирование требует еще одной важной метрики: предел прочности TPS (транзакций в секунду), то есть количество транзакций, которые экземпляр службы может обработать до нарушения соглашения об уровне обслуживания (SLA), заранее определенного порога удовлетворительной производительности, установленного владельцами бизнеса (например, время, необходимое для добавления товара в корзину).
«Поэтому мы хотим определить предельную точку именно на этом пределе, даже если сервис не выйдет из строя или даже если не произойдет увеличения частоты ошибок», — сказал Соуза.
TPS сочетается с бизнес-прогнозами ожидаемого трафика. Каждый владелец сервиса также может изменять прогнозы, добавляя дополнительные независимые переменные.
«Все это рассчитывается задолго до мероприятия, поэтому вы знаете, какая мощность вам понадобится», — сказал Соуза.
Даже бессерверные функции имеют MTT, то есть время, необходимое для реакции на ваш запрос. Amazon Web Services даже предоставила пользователям возможность предварительно разогреть свои таблицы DynamoDB, чтобы они были готовы к внезапному увеличению трафика.
CloudTune: система прогнозирования трафика Amazon
Прогнозы ожидаемого трафика в часы пик «определяют все, что мы делаем», — сказал Чунпэн Ван, старший научный сотрудник Amazon, который осветил часть доклада, посвященную модельному прогнозированию.
Прогнозы используются не только для оценки количества сервисов, которые будут находиться в режиме ожидания, но и в долгосрочной перспективе даже для оценки мощности будущих центров обработки данных и сроков их строительства.
Обычно команда по инфраструктуре подготавливает дополнительные мощности примерно за месяц до ожидаемого резкого увеличения мощности. Затем он проводит стресс-тестирование дополнительных экземпляров на предмет их готовности достичь этой отметки, выявляя те службы, которые потенциально могут перегреться. Также подготовлен резервный пул емкости.
Балансирование затрат на инфраструктуру и доступности услуг
По словам Ванга, для таких событий Amazon необходимо определить оптимальную точку между затратами на инфраструктуру и риском доступности.
Он мог бы использовать все имеющиеся у него мощности для таких пиковых событий, что было бы эффективно, но очень дорого. Но если у него недостаточно готовой инфраструктуры, может произойти замедление обслуживания и даже сбои в работе.
«Чем больше мы тратим на инфраструктуру, тем меньше влияние на клиентов; чем меньше мы тратим, тем выше риск воздействия на клиентов. Вот и все просто», — сказал Ван.
Вот тут-то и вступают в силу прогнозы. Каждый год компания составляет не единую оценку трафика в этом году, а статистический диапазон того, сколько она может получить. Затем он выбирает один процентиль, например 90-й процентиль, в качестве точки компромисса между риском и затратами, а затем выделяет мощность на основе этой оценки.
Масштабирование сложных взаимосвязанных сервисов
Оценки доступности услуг в случае Amazon могут быть особенно сложными, учитывая, что клиентские транзакции включают в себя несколько сервисов. Когда потенциальный клиент начнет делать покупки, он воспользуется службой поиска, а когда он найдет что-то, что ему нравится, он вызовет службу корзины покупок. Если все пойдет хорошо, то заработают различные платежные и логистические сервисы.
Каждая из этих служб, в свою очередь, может обращаться за поддержкой к другим службам (например, базам данных).
Каждый сервис имеет свои характеристики производительности и потенциальные узкие места. Таким образом, компании также необходимо определить согласованность уровня масштабирования или время, необходимое для загрузки группы взаимосвязанных сервисов. Это называется коэффициент разветвления. Amazon также использует это соотношение в своей модели прогнозирования, обновляя эти коэффициенты по мере их изменения в результате изменений в сервисе.
Корректировка прогнозов в реальном времени во время живых событий
В 2015 году инженеры Amazon, работая по рекомендациям центрального экономического отдела Amazon, создали программное обеспечение для прогнозирования будущих моделей трафика, назвав его CloudTune Forecasting.
Эта внутренняя система Amazon прогнозирует модели использования или «прогнозы пиковой вычислительной нагрузки» на год вперед. Недельные прогнозы составляются на две недели вперед, и даже поминутные прогнозы составляются на следующие несколько месяцев.
Посещения роботов и другие посторонние модели трафика отфильтровываются из желаемых результатов.
Результаты используются сотнями продуктовых команд Amazon, и все они хотят предугадать, каковы будут их собственные обязанности по обеспечению спроса на трафик. Некоторые даже создали процессы для преобразования ожидаемого использования в заказы на мощность серверов через Amazon Elastic Compute Cloud.
Предсказание будущего, по секунде за раз
Во время самого мероприятия Amazon продолжает отслеживать использование и использовать эти данные в своих прогнозах.
Ван отмечает, что всегда будут отличия от прогнозируемой модели. Пользователи могут выполнять больше поисковых запросов в течение одного года и меньше в следующем году.
«Мы обновляем наш прогноз в режиме реального времени до конца мероприятия, чтобы иметь актуальные рекомендации по масштабированию, а также иметь достаточно времени для реагирования», — сказал Ван.
Мировые события могут разрушить даже самую тщательно спланированную модель, сказал Ван. Он вспомнил 2022 год, когда Бразилия и Сербия боролись за чемпионат мира по футболу, который совпал с Черной пятницей. Но пока игра идет, большого трафика из Бразилии не будет, предупредила квантов бразильская бизнес-команда. Таким образом, они смогли внести коррективы в инфраструктуру «с хирургической точностью», сказал Ван.
Конечно, большинство предприятий не работают в масштабах Amazon. Но неустанная работа этих инженеров показывает нам, что всегда есть больше способов оптимизировать наши собственные рабочие нагрузки как для экономической эффективности, так и для удовлетворения потребностей клиентов.
ТЕНДЕНЦИОННЫЕ ИСТОРИИ YOUTUBE.COM/THENEWSTACK Технологии развиваются быстро, не пропустите ни одной серии. Подпишитесь на наш канал YouTube, чтобы смотреть все наши подкасты, интервью, демонстрации и многое другое. ПОДПИСАТЬСЯ Группа, созданная в Sketch. Джоаб Джексон — старший редактор The New Stack, специализирующийся на облачных вычислениях и системных операциях. Он освещал вопросы ИТ-инфраструктуры и ее развития более 30 лет, в том числе работал в IDG и Government Computer News. До этого он… Подробнее от Джоава Джексона