Автомасштабирование (autoscaling) – механизм облачных платформ и оркестраторов, который автоматически добавляет экземпляры приложения или ресурсы при росте нагрузки и убирает их при снижении. Это позволяет выдерживать пики и не платить за простаивающие мощности.
Виды
- Горизонтальное: меняется число экземпляров (виртуальных машин, контейнеров).
- Вертикальное: меняются ресурсы экземпляра (процессор, память).
- Масштабирование кластера: добавление и удаление узлов.
Триггеры
- Загрузка процессора и памяти.
- Число запросов, длина очереди, задержка.
- Расписание: заранее известные пики.
- Пользовательские метрики приложения.
Где реализовано
- Группы виртуальных машин у облачных провайдеров.
- Kubernetes: Horizontal Pod Autoscaler, Vertical Pod Autoscaler, Cluster Autoscaler.
- Бессерверные платформы масштабируют функции автоматически.
Что важно
- Приложение должно быть готово к горизонтальному масштабированию: без состояния в памяти экземпляра.
- Время запуска экземпляра и прогрев.
- Ограничения сверху, чтобы контролировать расходы.