Масштабирование веб-приложения вручную

Завершено

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

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

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

Планы службы приложений и масштабируемость

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

План Служба приложений определяет ресурсы, доступные каждому экземпляру. План службы приложений указывает операционную систему (Windows или Linux), оборудование (память, емкость обработки ЦП, дисковое хранилище и т. д.), а также доступность служб, например автоматическое резервное копирование и восстановление.

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

  • Уровень "Бесплатный" предоставляет 1 ГБ места на диске с поддержкой до 10 приложений, но только один общий экземпляр, и соглашения об уровне обслуживания по доступности не предусмотрено. Каждое приложение имеет квоты вычислений: 60 минут в день. Бесплатный план подходит для разработки и тестирования приложений, а не развертываний в рабочей среде.
  • Категория "Общий" поддерживает больше приложений (до 100), но также только с одним экземпляром. Приложение имеет квоты вычислений: 240 минут в день. Соглашение об уровне обслуживания отсутствует.
  • Категория "Базовый" поддерживает неограниченное количество приложений и предоставляет больше места на диске. Приложения можно расширять до трех выделенных экземпляров. Этот уровень предоставляет соглашение об уровне обслуживания по доступности 99,95 %. В этой категории существует три уровня, которые предлагают различные объемы вычислительной мощности, памяти и дискового хранилища.
  • Уровень "Стандартный" также поддерживает неограниченное количество приложений. Этот уровень можно масштабировать до 10 выделенных экземпляров с соглашением об уровне обслуживания по доступности 99,95 %. Как и категория "Базовый", эта категория имеет три уровня с разной вычислительной мощностью, памятью и вариантами дисков.
  • Категория "Премиум" предоставляет до 20 выделенных экземпляров, уровень доступности по соглашению об уровне обслуживания 99,95 % и несколько уровней оборудования.
  • Категория "Изолированный" выполняется в выделенной виртуальной сети Azure, обеспечивая сетевую и вычислительную изоляцию. Этот уровень можно масштабировать до 100 экземпляров с соглашением об уровне обслуживания по доступности 99,95 %.

Примечание.

Некоторые уровни недоступны для всех операционных систем. Например, в настоящее время для Linux нет категории "Общий".

Мониторинг и масштабирование веб-приложения

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

Чтобы расширить приложение, вы добавляете дополнительные экземпляры в план службы приложений, вплоть до лимита выбранной категории. Если вы не используете уровень "Бесплатный", плата взимается за каждый экземпляр почасовой основе. Эту задачу можно выполнить на портале Azure.

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

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

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

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