Обзор автомасштабирования в Azure

В этой статье описывается функция автомасштабирования в Azure Monitor и ее преимущества.

Автомасштабирование поддерживает множество типов ресурсов. Дополнительные сведения о поддерживаемых ресурсах см. в разделе "Автомасштабирование поддерживаемых ресурсов".

Примечание.

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

Основные сведения об автомасштабировании

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

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

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

A diagram that shows scaling out by adding virtual machine instances.

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

Горизонтальное и вертикальное масштабирование

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

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

A diagram that shows scaling up by adding CPU and memory to a virtual machine.

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

Прогнозное автомасштабирование

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

Настройка автомасштабирования

Автомасштабирование можно настроить с помощью следующих инструментов:

Архитектура

На следующей схеме представлена архитектура автомасштабирования.

Diagram that shows autoscale flow.

Метрики ресурса

Ресурсы создают метрики, используемые в правилах автомасштабирования для активации событий масштабирования. Масштабируемые наборы виртуальных машин используют для создания метрик данные телеметрии из агентов диагностики Azure. Телеметрия для функции веб-приложения службы приложение Azure и Azure Облачные службы поставляется непосредственно из инфраструктуры Azure. К часто используемым метрикам относятся загрузка ЦП, использование памяти, число потоков, длина очереди и использование диска. Список доступных метрик см. в разделе "Стандартные метрики автомасштабирования".

Пользовательские метрики

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

Время

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

Правила

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

Правила могут быть следующими:

  • Метрика: триггер на основе значения метрики, например, если использование ЦП превышает 50 %.
  • Время на основе времени: триггер на основе расписания, например каждую субботу в 8 утра.

Автомасштабирование масштабируется, если выполняются какие-либо из правил. Автомасштабирование масштабируется только в том случае, если выполняются все правила. С точки зрения операторов логики оператор OR используется для масштабирования с несколькими правилами. Оператор AND используется для масштабирования с несколькими правилами.

Действия и автоматизация

Правила могут вызвать одно или несколько действий. К действиям относятся:

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

параметры автоматического масштабирования;

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

Автомасштабирование имеет определенную структуру, для описания которой используется соответствующая терминология.

UI JSON/CLI Description
Условия масштабирования профили Коллекция правил, ограничений на экземпляры и расписаний на основе метрики или времени. Можно задать одно или несколько условий или профилей масштабирования. Определите до 20 профилей на параметр автомасштабирования.
Правила rules Набор условий на основе времени или метрик, которые активируют действие масштабирования. Для действий горизонтального уменьшения и увеличения масштаба можно задать одно или несколько правил. Определите до 10 правил на профиль.
Ограничения экземпляров Емкость Каждое условие масштабирования или профиль определяет стандартное, максимальное и минимальное количество экземпляров, которые могут выполняться в этом профиле.
Расписание повторение Указывает, когда именно функция автомасштабирования должна активировать то или иное условие или профиль масштабирования. Вы можете создать несколько условий масштабирования, охватывающих как полностью различные, так и частично перекрывающиеся случаи. Например, вы можете иметь разные условия масштабирования для разных времен дня или дней недели.
Notify уведомление Определяет уведомления, отправляемые при возникновении события автомасштабирования. Автомасштабирование может уведомлять один или несколько адресов электронной почты или вызывать с помощью одного или нескольких веб-перехватчиков. Вы можете настроить несколько веб-перехватчиков в JSON, но только один в пользовательском интерфейсе.

Diagram that shows Azure autoscale setting, profile, and rule structure.

Полный список настраиваемых полей и описаний см. в статье о REST API для функции автомасштабирования.

Примеры кода см. в следующих примерах:

Службы, поддерживающие автомасштабирование

Автомасштабирование поддерживает следующие службы.

Service Схема и документация
Масштабируемые наборы Виртуальные машины Azure Обзор автомасштабирования с помощью Azure Масштабируемые наборы виртуальных машин
Веб-приложения службы приложений Azure Scaling Web Apps (Масштабирование веб-приложения)
Служба управления API Azure Автоматическое масштабирование экземпляра службы управления API Azure
Кластеры Обозреватель данных Azure Управление кластерами Azure Data Explorer с учетом меняющихся потребностей
Azure Stream Analytics Единицы потоковой передачи автомасштабирования (предварительная версия)
Служба Azure SignalR (уровень "Премиум") Автоматическое масштабирование единиц службы Azure SignalR
Рабочая область службы "Машинное обучение Azure" Автомасштабирование сетевой конечной точки
Azure Spring Apps Настройка автомасштабирования для приложений
Службы мультимедиа Azure Автомасштабирование в Службах мультимедиа
Служебная шина Azure Автоматическое обновление единиц обмена сообщениями в пространстве имен Служебная шина Azure
Azure Logic Apps — среда службы интеграции (ISE) Добавьте емкость ISE.

Следующие шаги

Дополнительные сведения об автомасштабировании см. в следующих статьях: