Проверяет понимание автоскейлинга как механизма динамического управления ресурсами и его экономических и эксплуатационных преимуществ перед статически выделенными инстансами.
Автоскейлинг — это подход, при котором инфраструктура сама подстраивает количество работающих экземпляров приложения под текущую нагрузку. В облачных средах и Kubernetes это реализуется через метрики: CPU, память, RPS, длина очереди или кастомные показатели. Когда метрика превышает порог, контроллер создаёт новые инстансы, а когда нагрузка падает — удаляет лишние.
Horizontal Pod Autoscaler (HPA) следит за метриками и меняет число реплик Deployment.
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: web-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: web
minReplicas: 2
maxReplicas: 20
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 60
При средней загрузке CPU выше 60% HPA добавит поды, при снижении — уменьшит их до minReplicas. В AWS аналогичную роль играют Auto Scaling Groups, в GCP — Managed Instance Groups.
Если нагрузка стабильна и предсказуема, а приложение плохо масштабируется горизонтально (например, stateful-сервис с локальным диском), постоянные инстансы могут быть проще и дешевле. Также автоскейлинг требует времени на запуск новых экземпляров, поэтому для мгновенных пиков его дополняют очередями и буферизацией.
Итог: автоскейлинг стоит применять там, где нагрузка переменчива, а приложение умеет масштабироваться горизонтально — это даёт экономию, устойчивость и меньше ручной работы.