Изучение параметров горизонтального масштабирования

Завершено

служба приложение Azure поддерживает два варианта автоматического масштабирования веб-приложений:

  • Автомасштабирование с помощью автомасштабирования Azure. Автомасштабирование принимает решения по масштабированию на основе заданных правил.
  • автоматическое масштабирование службы приложение Azure. Автоматическое масштабирование принимает решения по масштабированию на основе параметров, которые вы выбрали.

Что такое автомасштабирование?

Автомасштабирование — это облачная система или процесс для регулирования объема доступных ресурсов в соответствии с текущими потребностями. Автомасштабирование производится по горизонтали, а не по вертикали.

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

автомасштабирование служб приложение Azure

Функция автомасштабирования в Службе приложений Azure отслеживает метрики ресурсов веб-приложения в процессе его работы. Он обнаруживает ситуации, когда другие ресурсы необходимы для обработки растущей рабочей нагрузки, и гарантирует доступность этих ресурсов до перегрузки системы.

Автомасштабирование реагирует на изменения в среде, добавляя и удаляя веб-серверы, а также распределяя нагрузку между ними. При этом производительность ЦП, объем оперативной памяти и размер хранилища каждого отдельного веб-сервера, на котором работает приложение, не меняется. Меняется лишь их число.

Правила автомасштабирования

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

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

Когда следует использовать автомасштабирование

Автомасштабирование обеспечивает эластичность служб. Например, можно предполагать, что интенсивность использования бизнес-приложения во время праздников снижается.

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

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

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

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

автоматическое масштабирование службы приложение Azure

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

Ниже приведены несколько сценариев автоматического масштабирования.

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