<EbeneX/>
Architektur DevOps · Updated 11. März 2026

Autoscaling

Definition

Die automatische Anpassung von Compute-Ressourcen basierend auf Last – mehr Server bei hoher Nachfrage, weniger bei niedriger. Kosteneffizient und performant.

Fortgeschritten 2 Min. Lesezeit EN: Autoscaling / Auto Scaling

Einfach erklärt

Autoscaling passt die Anzahl deiner Server automatisch an die aktuelle Last an. Mehr Nutzer = mehr Server. Weniger Nutzer = weniger Server (und Kosten).

Ohne Autoscaling:

Feste Kapazität: 10 Server

Nachts (10 Nutzer):     10 Server → 9 Server idle, Geldverschwendung
Peak (10.000 Nutzer):   10 Server → Überlastet, langsam, Fehler

Mit Autoscaling:

Nachts (10 Nutzer):     2 Server → Kosteneffizient
Normal (1.000 Nutzer):  5 Server → Optimal
Peak (10.000 Nutzer):   20 Server → Performance garantiert

Technischer Deep Dive

Kubernetes HPA

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: api-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: api
  minReplicas: 2
  maxReplicas: 20
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 70
    - type: Resource
      resource:
        name: memory
        target:
          type: Utilization
          averageUtilization: 80

KEDA für Event-driven Scaling

apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: queue-worker
spec:
  scaleTargetRef:
    name: worker-deployment
  minReplicaCount: 0  # Scale to Zero!
  maxReplicaCount: 50
  triggers:
    - type: rabbitmq
      metadata:
        queueName: tasks
        queueLength: "10"  # 1 Worker pro 10 Messages

AWS Auto Scaling

# Terraform
resource "aws_autoscaling_group" "api" {
  name                = "api-asg"
  min_size            = 2
  max_size            = 20
  desired_capacity    = 5
  
  launch_template {
    id      = aws_launch_template.api.id
    version = "$Latest"
  }
}

resource "aws_autoscaling_policy" "scale_up" {
  name                   = "scale-up"
  autoscaling_group_name = aws_autoscaling_group.api.name
  policy_type            = "TargetTrackingScaling"
  
  target_tracking_configuration {
    predefined_metric_specification {
      predefined_metric_type = "ASGAverageCPUUtilization"
    }
    target_value = 70.0
  }
}

Scaling-Strategien

StrategieTriggerUse Case
CPU-basiertCPU über 70%Compute-intensive Workloads
Memory-basiertMemory über 80%Memory-intensive Apps
Request-basiertRequests/SekundeWeb-APIs
Queue-basiertQueue-LängeAsync Workers
Schedule-basiertUhrzeitVorhersehbare Patterns
Custom MetricsBusiness-MetrikenSpezifische Anforderungen

Cooldown und Stabilisierung

# Kubernetes HPA Behavior
behavior:
  scaleDown:
    stabilizationWindowSeconds: 300  # 5 Min warten
    policies:
      - type: Percent
        value: 10
        periodSeconds: 60  # Max 10% pro Minute runter
  scaleUp:
    stabilizationWindowSeconds: 0  # Sofort hoch
    policies:
      - type: Percent
        value: 100
        periodSeconds: 15  # Schnell hochskalieren

Kosten-Optimierung

Strategie: Spot/Preemptible Instances für Autoscaling

On-Demand: $0.10/Stunde
Spot:      $0.03/Stunde (70% günstiger)

Mix: 
- Basis-Last: On-Demand (stabil)
- Peaks: Spot Instances (günstig, unterbrechbar)

Autoscaling ist wie ein Supermarkt, der automatisch mehr Kassen öffnet wenn die Schlangen lang werden, und sie wieder schließt wenn es ruhiger wird – immer genau so viele wie nötig.

Skaliert automatisch basierend auf Metriken (CPU, Requests, Queue)

Horizontal (mehr Instanzen) oder Vertikal (größere Instanzen)

Spart Kosten bei niedriger Last, garantiert Performance bei hoher

Web-Traffic

Mehr Server bei Traffic-Spitzen (Black Friday, Kampagnen)

ML-Inference

GPU-Instanzen nach Bedarf hoch- und runterfahren

Batch-Processing

Worker für Queue-Verarbeitung skalieren

Kostenoptimierung

Nachts und am Wochenende runterskalieren

Horizontal vs. Vertikal – was ist besser?

Horizontal (mehr Instanzen) ist meist besser: Keine Downtime, unbegrenzt skalierbar. Vertikal (größere Instanz) hat Limits und braucht oft Restart.

Wie schnell skaliert Autoscaling?

Abhängig von Setup. Kubernetes HPA: 15-30 Sekunden. EC2: 1-3 Minuten. Serverless (Lambda): Millisekunden. Für Spikes: Vorhalten von Mindest-Kapazität.

Was ist Scale-to-Zero?

Bei keiner Last auf 0 Instanzen runterskalieren. Spart Kosten, aber Cold Start bei erstem Request. Serverless macht das automatisch.

Dein persönliches Share-Bild für Instagram – 1080×1080px, bereit zum Posten.