Bereitstellungsstrategien: Versionen, Aliasse und Traffic‑Shifting

Serverlose Anwendungen mit AWS Lambda

Claudio Canales

Senior DevOps Engineer

Warum Strategie bei Deployments zählt

  • Bugs schnell erkennen.
  • Schaden begrenzen.
  • Schnell erholen.

Riskantes vs. sicheres Deploy

Serverlose Anwendungen mit AWS Lambda

$LATEST vs. veröffentlichte Versionen

$LATEST

  • Bewegt sich bei jedem Code‑Update.

Versionen

  • Unveränderliche Snapshots.
  • Einfach zum Fixieren für Rollbacks und Traffic‑Splits.

Latest vs. Versionen

Serverlose Anwendungen mit AWS Lambda

Eine Version ist ein unveränderlicher Snapshot

  • Behandle Versionen wie Release‑Artefakte.
  • Jede enthält Code und Konfiguration.
  • Nach Veröffentlichung unverändert.
  • Du kannst immer zu einem bekannten guten Stand zurück.

Unveränderlicher Versions‑Snapshot

Serverlose Anwendungen mit AWS Lambda

Aliasse sind stabile Zeiger

  • Ein stabiler Zeiger.
  • Den Alias statt einer Version aufrufen.
  • Ziel ändern, ohne Aufrufer zu ändern.

Alias zeigt auf eine Version

Serverlose Anwendungen mit AWS Lambda

Dev‑ und Prod‑Aliasse

  • Ideal für Umgebungen.
  • dev häufig verschieben.
  • Durch Alias-Verschiebung nach prod befördern.

Dev‑ und Prod‑Alias‑Zuordnung

Serverlose Anwendungen mit AWS Lambda

Traffic‑Shifting mit gewichteten Aliassen

  • Sicher in Produktion testen.
  • Meiste Anfragen bleiben auf der aktuellen Version.
  • Ein kleiner Anteil geht zum Kandidaten.

Gewichtetes Alias‑Routing – Konzept

Serverlose Anwendungen mit AWS Lambda

Canary Schritt 1: 90/10

  • 90 % bleiben auf der aktuellen Version.
  • 10 % testen den Kandidaten unter echter Last.
  • Fehler und Latenz beobachten.

Canary 90/10‑Aufteilung

Serverlose Anwendungen mit AWS Lambda

Canary Schritt 2: 50/50

  • Sieht der 10-%‑Anteil gut aus, Gewicht erhöhen.
  • 50 % aktuell, 50 % Kandidat.
  • Probleme zeigen sich bei 50/50 schnell.
  • Monitoring ist wichtig.

Canary 50/50‑Aufteilung

Serverlose Anwendungen mit AWS Lambda

Canary Schritt 3: 100 % neu

  • Gesamten Traffic auf die neue Version leiten.
  • Die alte Version bleibt vorhanden.
  • Rollback ist einfach.

Canary 100 % neu

Serverlose Anwendungen mit AWS Lambda

Blue/Green‑Denkmodell

  • Blau = aktuelle stabile Version.
  • Grün = neue Kandidatenversion.
  • Umschalten durch Alias‑Verschiebung.
  • Gewichtetes Routing macht den Wechsel schrittweise.

Blue‑Green‑Wechsel

Serverlose Anwendungen mit AWS Lambda

Rollback = Alias zurücksetzen

  • Kein Redeploy nötig.
  • Alias auf die letzte bekannte gute Version verschieben.
  • In Sekunden statt Stunden erholen.
  • Unveränderliche Versionen + stabile Aliasse wirken zusammen.

Rollback per Alias‑Rücksprung

Serverlose Anwendungen mit AWS Lambda

Während des Wechsels monitoren

  • Fehler und Timeouts.
  • Dauer und Tail‑Latenz.
  • Throttles bei Limits.
  • Schnell pausieren oder zurückrollen.

Monitoring‑Metriken beim Deploy

Serverlose Anwendungen mit AWS Lambda

Häufiger Fehler: $LATEST als Prod nutzen

  • $LATEST macht unvorhersehbar.
  • Versionen und Aliasse zeigen klar, was läuft.
  • Rollbacks sind sicher.

Warnung vor „Latest"-Drift

Serverlose Anwendungen mit AWS Lambda

Ignorieren

Serverlose Anwendungen mit AWS Lambda

Checkliste: sicheres Deploy

  • Eine Version veröffentlichen.
  • Traffic schrittweise mit einem Alias verschieben.
  • Ergebnisse monitoren.
  • Rollback in jedem Schritt bereit halten.

Checkliste für sicheres Deploy

Serverlose Anwendungen mit AWS Lambda

Wichtigste Erkenntnisse

  • Versionen geben Vorhersagbarkeit.
  • Aliasse geben Stabilität.
  • Gewichtetes Routing erhöht die Sicherheit.
  • Rollback = Alias verschieben.

Wichtigste Punkte zu Deployments

Serverlose Anwendungen mit AWS Lambda

Lass uns üben!

Serverlose Anwendungen mit AWS Lambda

Preparing Video For Download...