Claude-skill-registry Deployment Patterns
Practical deployment strategies (rolling, blue-green, canary) for safe releases with rollback, health checks, and database compatibility guidance—without requiring full Kubernetes complexity
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/deployment-patterns" ~/.claude/skills/majiayu000-claude-skill-registry-deployment-patterns && rm -rf "$T"
manifest:
skills/data/deployment-patterns/SKILL.mdsource content
Deployment Patterns
Overview
รูปแบบการ deploy ที่เหมาะกับ scale และความต้องการต่างๆ: rolling update, blue-green, canary โดยไม่ต้องพึ่ง full Kubernetes complexity
Why This Matters
- Zero downtime: Users ไม่รู้สึกว่ามี deployment
- Safe rollouts: ค่อยๆ release, ถอยได้เร็ว
- Right-sized: เลือก pattern ตาม needs
- Simplicity: ไม่ต้อง over-engineer
Core Concepts
1. Health Gates (ต้องมี)
- liveness/readiness checks เป็น gating ก่อนรับ traffic
- deploy ต้องหยุด/rollback ได้เมื่อ error rate/latency เกิน threshold
- ควรมี smoke tests หลัง switch traffic
2. Compatibility Window
- รองรับช่วงที่ version เก่า/ใหม่รันพร้อมกัน (mixed versions)
- schema changes ต้องเป็น backward-compatible หรือทำแบบ expand/contract
3. Rollback Strategy
- rollback คือ “กลับไป stable state” ทั้ง app + config + routing
- มี kill switch/feature flags สำหรับ cutover ที่เสี่ยง
Deployment Patterns
Rolling Update
Best for: Most applications Risk: Medium (gradual) Old: [A] [A] [A] [A] ↓ [B] [A] [A] [A] ↓ [B] [B] [A] [A] ↓ [B] [B] [B] [B]
Blue-Green
Best for: Database migrations, big changes Risk: Low (instant rollback) Blue (current): [A] [A] ← traffic Green (new): [B] [B] Switch traffic: Blue: [A] [A] Green: [B] [B] ← traffic
Canary
Best for: Risky changes, A/B testing Risk: Very low (1% first) 1%: [B] ←1% [A] [A] [A] ←99% 10%: [B] [B] ←10% [A] [A] ←90% 100%: [B] [B] [B] [B] ←100%
When to Use
| Pattern | Use When |
|---|---|
| Rolling | Standard deploys, stateless apps |
| Blue-Green | DB changes, need instant rollback |
| Canary | New features, high-risk changes |
Quick Start
- เลือก pattern ตาม blast radius (rolling สำหรับทั่วไป, canary สำหรับ risky, blue-green สำหรับ cutover ใหญ่)
- เตรียม health gates + dashboards (errors/latency/saturation)
- วาง rollback plan (ทำได้จริงภายในนาที)
- ถ้ามี DB/schema change ให้ใช้ expand/contract + phased rollout
Simple Implementation (Docker Compose)
# Blue-green with nginx services: nginx: image: nginx volumes: - ./nginx.conf:/etc/nginx/nginx.conf ports: - "80:80" app-blue: image: myapp:1.0.0 app-green: image: myapp:1.1.0 # Switch by updating nginx.conf upstream
Production Checklist
- Readiness/liveness configured และใช้เป็น deploy gates
- Rollback plan ชัดเจน (routing + app version + config)
- Observability พร้อม: error rate/latency dashboards + alerts
- Canary/blue-green มีวิธี “ลด traffic/สลับ traffic” ที่ทำซ้ำได้
- DB migrations ถูกออกแบบให้ compatible กับ mixed versions
Anti-patterns
- Deploy without gates: ปล่อย traffic ก่อน readiness ผ่าน
- Big bang cutover: เปลี่ยนพร้อมกันหมดโดยไม่มี staged rollout
- Rollback only in theory: ไม่มีคนลอง rollback จริง/ไม่มี playbook
- Ignoring DB compatibility: schema breaking ในขณะที่มี app หลาย version
Integration Points
- CI/CD pipelines (progressive delivery, approvals, rollbacks)
- Load balancers / reverse proxies (Nginx, HAProxy, ALB)
- Feature flags (kill switch, gradual rollout)
- Runbooks/incident response