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

Завершено

В этом модуле мы рассмотрим основные понятия масштабирования Azure.

Эластичное масштабирование

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

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

Ручное и автоматическое масштабирование

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

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

Схема, показывающая экономию автомасштабирования при затратах на вычисления.

Сравнение «горизонтального» и «вертикального» увеличения масштаба

Масштабировать приложение можно двумя способами:

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

  • Горизонтальное масштабирование, которое также называется масштабированием и в, добавляет или удаляет экземпляры ресурса. При подготовке новых ресурсов приложение будет работать без перерывов. По завершении процесса подготовки решение развертывается на этих дополнительных ресурсах. Если спрос снижается, дополнительные ресурсы можно закрыть и закрыть.

При автомасштабировании выполняется только увеличение масштаба (горизонтальное), то есть, добавление (увеличение количества) или удаление (уменьшение количества) экземпляров приложения.

Схема, показывающая разницу между масштабированием и масштабированием.

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

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

Реальный пример

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

Raley выбирает Azure Spring Apps. Azure Spring Apps — это управляемая служба для Azure Spring Boot, которая предоставляет возможности Kubernetes наряду с мониторингом в режиме реального времени и автоматическим масштабированием. Он также позволяет Raley внедрять истинную платформу как службу (PaaS), захватывая преимущества облака более полно.

Служба в фоновом режиме управляет инфраструктурой приложений микрослужб Spring Boot, поэтому разработчики могут сосредоточиться на написании кода. При развертывании библиотек или кода Java Spring Apps автоматически связывает приложения со средой выполнения службы Spring.

После развертывания Azure Spring Apps полностью интегрированы с инструментами Azure Monitor, такими как Application Insights и Log Analytics. Эти средства позволяют легко настраивать мониторинг производительности и ошибок. Те же службы мониторинга также могут выполнять автомасштабирование, помогая обеспечить оптимальный объем ресурсов для текущих нагрузок.

Схема с автомасштабированием.