Canary Deployment

Wie du eine neue Version schrittweise mit echten Nutzungssignalen prüfst, bevor sie alle erreicht

Eine Deployment-Strategie, bei der neue Modellversionen zunächst nur einem kleinen Teil der Nutzer ausgeliefert werden, um Probleme früh zu erkennen.

Fortgeschritten2 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. Neue Version erst für 1-5% der Nutzer, dann schrittweise erhöhen
  2. Automatisches Rollback bei Problemen (Fehlerrate, Latenz, etc.)
  3. Reduziert Risiko von fehlerhaften Releases erheblich

Sofortantwort

Canary Deployment einfach erklärt

Neue Versionen erst für wenige Nutzer, dann schrittweise ausrollen.

Kurz gesagt
Neue Version erst für 1-5% der Nutzer, dann schrittweise erhöhen
Typischer Einsatz
ML-Model-Updates, Feature Releases, Infrastruktur-Änderungen
Wichtig zu wissen
Reduziert Risiko von fehlerhaften Releases erheblich

Canary Deployment im Überblick

Canary Deployment ist eine risikoarme Release-Strategie: Neue Versionen werden erst einem kleinen Teil der Nutzer gezeigt. Wenn alles gut läuft, wird schrittweise erhöht. Bei Problemen: Sofortiger Rollback.

Der Ablauf:

Tag 1: Neue Version für 1% der Nutzer
       → Metriken überwachen
       → Alles OK? Weiter.

Tag 2: Erhöhung auf 10%
       → Metriken überwachen
       → Problem erkannt? Rollback auf 0%.

Tag 3: Erhöhung auf 50%
       → Metriken überwachen

Tag 4: 100% - Vollständiger Rollout

Warum ist das wichtig?

Ohne Canary: Ein Bug betrifft sofort 100% der Nutzer. Mit Canary: Ein Bug betrifft erst 1%, wird erkannt und gefixt, bevor mehr Nutzer betroffen sind.

Technisch betrachtet

Traffic Splitting

# Istio VirtualService
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
spec:
  hosts:
    - model-service
  http:
    - route:
        - destination:
            host: model-service
            subset: stable
          weight: 95
        - destination:
            host: model-service
            subset: canary
          weight: 5

Automatisches Rollback

def check_canary_health(canary_metrics, baseline_metrics):
    # Fehlerrate vergleichen
    if canary_metrics.error_rate > baseline_metrics.error_rate * 1.5:
        return "ROLLBACK"
    
    # Latenz vergleichen
    if canary_metrics.p99_latency > baseline_metrics.p99_latency * 1.2:
        return "ROLLBACK"
    
    return "HEALTHY"

Vergleich Deployment-Strategien

StrategieRisikoKomplexitätRollback
Big BangHochNiedrigLangsam
Blue-GreenMittelMittelSchnell
CanaryNiedrigHochSehr schnell
ShadowSehr niedrigSehr hochN/A

Schritt für Schritt

Wie ein Canary-Release aus Signalen lernt

  1. Risiko und Erfolgskriterien festlegen

    Definiere, welche Nutzergruppe zuerst betroffen sein darf, welche Signale eine Freigabe stützen und welche Abweichungen einen Stopp auslösen. Technische und fachliche Kriterien gehören zusammen.

  2. Vergleichbare Versionen vorbereiten

    Sorge dafür, dass neue und bestehende Version kontrolliert nebeneinander laufen können. Konfiguration, Datenzugriff und Messung müssen so gestaltet sein, dass Unterschiede nicht zufällig entstehen.

  3. Traffic schrittweise erhöhen

    Beginne mit einem begrenzten Anteil und erweitere ihn nur nach überprüfter Beobachtung. Die Geschwindigkeit richtet sich nach Risiko, Datenmenge und der Möglichkeit, Auswirkungen rechtzeitig zu erkennen.

  4. Entscheidung transparent treffen

    Dokumentiere, welche Signale zur Erweiterung, Pause oder Rücknahme geführt haben. So wird aus einem Release kein Bauchgefühl, sondern eine nachvollziehbare Betriebsentscheidung.

Konkretes Beispiel

Eine neue Suche wird zuerst vorsichtig sichtbar

Ein Team ersetzt die Suchlogik in einer Anwendung. Die neue Version soll hilfreichere Ergebnisse liefern, könnte aber unerwartete Leistungs- oder Relevanzprobleme enthalten.

Canary-Plan

Die neue Suche erhält zunächst nur einen kleinen, geeigneten Anteil echter Anfragen. Das Team legt vorab fest, welche Qualitäts-, Latenz- und Fehlersignale es mit der bisherigen Version vergleicht.

Gestufte Freigabe

Nur wenn die vorher definierten Signale stabil bleiben oder sich verbessern, wächst der Anteil schrittweise. Bei auffälligen Abweichungen wird die Verteilung angehalten und die neue Version untersucht.

Einordnung

Vorteile und Grenzen

Das spricht dafür

  • Begrenzt die erste Auswirkung einer neuen Version auf einen kontrollierten Teil des Verkehrs.
  • Ermöglicht Vergleiche unter realen Bedingungen statt allein in isolierten Testumgebungen.
  • Macht Freigaben und Rücknahmen anhand vorher vereinbarter Signale nachvollziehbar.

Das solltest du beachten

  • Braucht gute Messung, Routing und eine ausreichend große, geeignete Vergleichsgruppe.
  • Unfaire oder unklare Auswahl der ersten Nutzenden kann Risiken ungleich verteilen.
  • Seltene Fehler oder langfristige Auswirkungen können trotz schrittweiser Freigabe unentdeckt bleiben.
Vertiefung · für Fortgeschrittene

Von der Teilfreigabe zur Entscheidung

Wissenskarte

Schrittweise Freigabe

CI/CD
Automatisierte Prozesse für kontinuierliche Software-Entwicklung.
Feature Flags
Konfigurationsschalter zum Ein-/Ausschalten von Features ohne neues Deployment.
Observability
Fähigkeit, den Zustand eines Systems durch Logs, Metrics und Traces zu verstehen.
Monitoring
Kontinuierliche Überwachung von KI-Systemen zur Fehlererkennung.
Blue-Green Deployment
Zwei Umgebungen für risikoärmere Deployments und schnelles Rollback.
Canary Deployment kombiniert begrenzte erste Nutzung, vorher definierte Signale und eine stufenweise Freigabe zu einer risikobewussten Release-Entscheidung. Canary gliedert sich in: CI/CD, Feature Flags, Observability, Monitoring, Blue-Green Deployment.

01Einsatzbereiche

Wann ist Canary Deployment sinnvoll?

Geeignet für

  • ML-Model-UpdatesNeue Modellversion erst für wenige Nutzer testen
  • Feature ReleasesNeue Features schrittweise ausrollen
  • Infrastruktur-ÄnderungenBackend-Updates mit minimalem Risiko

↑ Inhalt

02Werkzeuge

Womit Canary Deployment umgesetzt wird

↑ Inhalt

Merksatz

Canary Deployment ist wie der Kanarienvogel im Bergwerk

Früher nahmen Bergleute Kanarienvögel mit – wenn der Vogel umfiel, war die Luft giftig. Genauso testest du neue Versionen erst an wenigen Nutzern, bevor alle betroffen sind.

  1. Neue Version erst für 1-5% der Nutzer, dann schrittweise erhöhen
  2. Automatisches Rollback bei Problemen (Fehlerrate, Latenz, etc.)
  3. Reduziert Risiko von fehlerhaften Releases erheblich

04Anwenden

Canary Deployment praktisch anwenden

↑ Inhalt

05Redaktion

Herkunft und Stand

Redaktion und Aktualität

Ebenex RedaktionRedaktion

Veröffentlicht
Aktualisiert

Dieses Feld entwickelt sich schnell. Oben stehen Veröffentlichung und letzte Änderung; ein Prüfdatum kommt dazu, sobald die Erklärung nach ihrer letzten Änderung geprüft wurde.

↑ Inhalt

06FAQ

Häufige Fragen zu Canary Deployment

Was ist der Unterschied zwischen Canary und Blue-Green Deployment?

Blue-Green: Zwei identische Umgebungen, sofortiger Switch von 0% auf 100%. Canary: Schrittweise Erhöhung (1% → 5% → 25% → 100%). Canary ist vorsichtiger, Blue-Green ist einfacher.

Wie lange sollte ein Canary laufen?

Mindestens so lange, bis statistisch signifikante Daten vorliegen. Für ML-Modelle typisch 1-7 Tage, abhängig vom Traffic-Volumen und der Metrik-Varianz.

Welche Metriken sollte ich überwachen?

Technisch: Fehlerrate, Latenz, Ressourcenverbrauch. Business: Conversion, Engagement, User Feedback. ML-spezifisch: Prediction-Verteilung, Confidence-Scores, Drift.

↑ Inhalt

07Weiterlernen

Was möchtest du als Nächstes verstehen?

↑ Inhalt