DevOps Fortgeschritten
Progressive Delivery — Canary, Blue-Green und Feature Flags¶
Progressive DeliveryCanaryBlue-GreenFeature Flags 6 min Lesezeit
Strategien für Progressive Delivery. Canary mit Metriken, Blue-Green mit Rollback und Feature Flags.
Canary mit automatischer Analyse¶
apiVersion: flagger.app/v1beta1
kind: Canary
metadata:
name: api-server
spec:
targetRef:
apiVersion: apps/v1
kind: Deployment
name: api-server
analysis:
interval: 1m
threshold: 5
maxWeight: 50
stepWeight: 10
metrics:
- name: request-success-rate
thresholdRange:
min: 99
interval: 1m
- name: request-duration
thresholdRange:
max: 500
interval: 1m
Blue-Green mit Argo Rollouts¶
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: api-server
spec:
replicas: 5
strategy:
blueGreen:
activeService: api-active
previewService: api-preview
autoPromotionEnabled: false
prePromotionAnalysis:
templates:
- templateName: smoke-tests
scaleDownDelaySeconds: 300
Feature Flags¶
from unleash_client import UnleashClient
client = UnleashClient("http://unleash:4242/api", "app")
client.initialize_client()
if client.is_enabled("new-checkout-flow", {"userId": user.id}):
return new_checkout(order)
else:
return legacy_checkout(order)
# Strategien:
# - Boolean Toggle (on/off)
# - Percentage Rollout (10% → 50% → 100%)
# - User Segment (Beta-Benutzer, Region)
# - A/B Testing
Wann was verwenden¶
- Canary — Infrastrukturänderungen, neue Serviceversionen
- Blue-Green — Datenbankmigrationen, Breaking Changes
- Feature Flags — Business-Logik, A/B-Tests, Runtime-Steuerung
- Kombination — Canary + Feature Flag = maximale Kontrolle
Zusammenfassung¶
Progressive Delivery minimiert den Blast Radius von Änderungen. Kombinieren Sie Canary, Blue-Green und Feature Flags nach Bedarf.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.