DevOps Pokročilý
Progressive Delivery — Canary, Blue-Green a Feature Flags¶
Progressive DeliveryCanaryBlue-GreenFeature Flags 6 min čtení
Strategie progresivního doručování. Canary s metrikami, blue-green s rollback a feature flags.
Canary s Automatickou Analýzou¶
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 s 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)
# Strategie:
# - Boolean toggle (on/off)
# - Percentage rollout (10% → 50% → 100%)
# - User segment (beta users, region)
# - A/B testing
Kdy Co Použít¶
- Canary — infrastrukturní změny, nové verze služeb
- Blue-Green — databázové migrace, breaking changes
- Feature Flags — business logika, A/B testy, runtime control
- Kombinace — canary + feature flag = maximální kontrola
Shrnutí¶
Progressive delivery minimalizuje blast radius změn. Kombinujte canary, blue-green a feature flags podle potřeby.
Potřebujete pomoct s implementací?¶
Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.