Model Deployment
Der Prozess, ein trainiertes ML-Modell in eine Produktionsumgebung zu bringen, wo es Vorhersagen für echte Nutzer und Anwendungen liefert.
Eine Deployment-Strategie, bei der neue Modellversionen zunächst nur einem kleinen Teil der Nutzer ausgeliefert werden, um Probleme früh zu erkennen.
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.
# 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
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"
| Strategie | Risiko | Komplexität | Rollback |
|---|---|---|---|
| Big Bang | Hoch | Niedrig | Langsam |
| Blue-Green | Mittel | Mittel | Schnell |
| Canary | Niedrig | Hoch | Sehr schnell |
| Shadow | Sehr niedrig | Sehr hoch | N/A |
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.
Neue Version erst für 1-5% der Nutzer, dann schrittweise erhöhen
Automatisches Rollback bei Problemen (Fehlerrate, Latenz, etc.)
Reduziert Risiko von fehlerhaften Releases erheblich
ML-Model-Updates
Neue Modellversion erst für wenige Nutzer testen
Feature Releases
Neue Features schrittweise ausrollen
Infrastruktur-Änderungen
Backend-Updates mit minimalem Risiko
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.
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.
Technisch: Fehlerrate, Latenz, Ressourcenverbrauch. Business: Conversion, Engagement, User Feedback. ML-spezifisch: Prediction-Verteilung, Confidence-Scores, Drift.