hostprofi.ru
Подобрать хостинг
Термин·буква A

Auto Scaling

краткое определение

Auto Scaling — автоматическое изменение количества серверов или ресурсов в ответ на изменение нагрузки. Добавляет мощности при росте трафика и уменьшает при снижении, оптимизируя расходы. Применяется в облачных платформах (AWS Auto Scaling, Kubernetes HPA).

Auto Scaling — механизм автоматического масштабирования инфраструктуры в зависимости от текущей нагрузки. Горизонтальное масштабирование (scale out/in) — добавление/удаление экземпляров серверов. Вертикальное масштабирование (scale up/down) — увеличение/уменьшение ресурсов конкретного сервера.

AWS Auto Scaling

Auto Scaling Group (ASG) — набор EC2-инстансов с политиками масштабирования:

  • Target Tracking — поддерживать метрику на заданном уровне (CPU 60%).
  • Step Scaling — добавить N инстансов при достижении порога.
  • Scheduled Scaling — масштабировать по расписанию (бизнес-часы).

Kubernetes HPA

Horizontal Pod Autoscaler (HPA) масштабирует количество Pod-ов:

kubectl autoscale deployment my-app --cpu-percent=50 --min=2 --max=10

Vertical Pod Autoscaler (VPA) автоматически подбирает requests/limits CPU и Memory.

Метрики для масштабирования

  • CPU utilization — самая распространённая метрика.
  • Memory utilization — для memory-intensive приложений.
  • Custom metrics — RPS, размер очереди задач (SQS, RabbitMQ).
  • HTTP request rate — через Application Load Balancer metrics.

Cooldown и Warmup

Cooldown period — время ожидания после масштабирования перед следующим. Warmup — время на инициализацию нового инстанса перед включением в балансировщик.

История

AWS Auto Scaling запущен в 2009 году. Google App Engine автоматически масштабировался с 2008 года. Kubernetes HPA появился в Kubernetes 1.1 (2015). KEDA (2019) расширил HPA для event-driven масштабирования (Kafka, RabbitMQ).

Связь с хостингом

Без Auto Scaling нужно заказывать серверы «с запасом» на пиковую нагрузку. С Auto Scaling в облаке платите только за реально используемые ресурсы. Классический VDS не масштабируется автоматически — для этого нужны облачные платформы (AWS, VK Cloud) с Auto Scaling Group или managed Kubernetes.

История Auto Scaling

Auto Scaling анонсирован Amazon в мае 2009 года как часть AWS EC2 — одна из первых облачных функций автоматического масштабирования. Google Compute Engine Autoscaler появился в 2013 году. Kubernetes Horizontal Pod Autoscaler (HPA) введён в версии 1.0 (2015). Vertical Pod Autoscaler (VPA) — в 2019 году. Кластерный автоскейлер (Cluster Autoscaler) — добавление/удаление нод в кластере автоматически.

Типы Auto Scaling

ТипЧто масштабируетТриггер
Горизонтальный (HPA)количество инстансов/подовCPU, RAM, custom метрики
Вертикальный (VPA)ресурсы одного инстансаисторические данные
Кластерныйколичество ноднехватка ресурсов в кластере
ПредиктивныйзаблаговременноML-прогнозирование нагрузки

На что обращать внимание при настройке Auto Scaling

Ключевые параметры: cooldown period (защита от флапинга), минимальное и максимальное количество инстансов, метрики масштабирования. Без правильной настройки Auto Scaling может создать «yo-yo effect» — постоянное добавление/удаление инстансов. Для stateful-приложений необходимы sticky sessions или вынесение состояния во внешний Redis.

Типичные ошибки

  • Масштабирование только по CPU без учёта задержек — приложение уже под нагрузкой к моменту запуска нового инстанса.
  • Не настроен scale-down policy — инстансы не удаляются после снижения нагрузки, счёт растёт.
  • Отсутствие health check на целевой группе — нездоровые инстансы получают трафик.

Другие термины