skills/devops-deployment-strategies/SKILL.md
部署策略目錄。提供 Blue-Green、Canary、Rolling、A/B Test、Shadow 部署策略的優缺點比較、實作模式、Rollback 程序、Health Check 設計與 DORA Metrics。適用於「部署策略」、「Blue-Green」、「Canary」、「Rolling」、「Rollback」、「零停機部署」、「DORA Metrics」等 Pipeline 設計任務。強化 pipeline-designer 的設計能力。注意:實際基礎設施設定與監控工具設定不在此技能範圍內。
npx skillsauth add vincent119/ai-rules-kit devops-deployment-strategiesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
pipeline-designer 在設計部署 Pipeline 時使用的部署策略、Rollback 程序、Health Check 與 DORA Metrics 參考。
devops-cicd-pipeline 技能使用| 策略 | 停機時間 | 風險 | 基礎設施成本 | Rollback 速度 | 適用情境 | |------|---------|------|------------|--------------|---------| | Rolling | 無 | 中 | 低 | 中 | 一般 Web 服務 | | Blue-Green | 無 | 低 | 2x | 即時 | 關鍵任務服務 | | Canary | 無 | 極低 | 略增 | 即時 | 高流量系統 | | Recreate | 有 | 高 | 無 | 慢 | Dev/Staging 環境 | | A/B Test | 無 | 低 | 略增 | 即時 | 功能實驗 | | Shadow | 無 | 無 | 2x | N/A | 效能/相容性驗證 |
Server pool: [v1] [v1] [v1] [v1]
Step 1: [v2] [v1] [v1] [v1] ← 1 個替換
Step 2: [v2] [v2] [v1] [v1] ← 2 個替換
Step 3: [v2] [v2] [v2] [v1] ← 3 個替換
Step 4: [v2] [v2] [v2] [v2] ← 完成
Kubernetes 設定:
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1 # 同時最多下線幾個
maxSurge: 1 # 同時最多新增幾個
注意:v1 + v2 共存期間需確保 API 向下相容。
Blue(現行): [v1] [v1] [v1] ← 100% 流量
Green(待機): [v2] [v2] [v2] ← 0% 流量
切換後:
Blue: [v1] [v1] [v1] ← 0%(待機/移除)
Green: [v2] [v2] [v2] ← 100% 流量
程序:
Rollback:重新切換 Load Balancer 到 Blue(秒級完成)
Stage 1: [v1 x 95%] [v2 x 5%] ← 5% 流量開始
Stage 2: [v1 x 80%] [v2 x 20%] ← 指標正常則擴大
Stage 3: [v1 x 50%] [v2 x 50%] ← 繼續擴大
Stage 4: [v2 x 100%] ← 全量發布
各階段驗證標準:
| 階段 | 流量 | 等待時間 | 驗證指標 | |------|------|---------|---------| | 1 | 5% | 10~30 分鐘 | 錯誤率、延遲 | | 2 | 20% | 30~60 分鐘 | 加入業務指標 | | 3 | 50% | 1~2 小時 | 全部指標 | | 4 | 100% | — | 完成 |
自動 Rollback 條件:
| 類型 | 驗證內容 | Endpoint | 間隔 |
|------|---------|---------|------|
| Liveness | 程序存活 | /healthz | 10s |
| Readiness | 可接收流量 | /readyz | 5s |
| Startup | 初始化完成 | /healthz | 1s(最長 300s) |
{
"status": "healthy",
"version": "2.1.0",
"uptime": 86400,
"checks": {
"database": { "status": "healthy", "latency": "2ms" },
"redis": { "status": "healthy", "latency": "1ms" },
"external_api": { "status": "degraded", "latency": "500ms" }
}
}
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 15
periodSeconds: 10
failureThreshold: 3
readinessProbe:
httpGet:
path: /readyz
port: 8080
initialDelaySeconds: 5
periodSeconds: 5
failureThreshold: 3
| 指標 | 閾值 | 持續時間 | |------|------|---------| | HTTP 5xx 率 | > 5% | 連續 2 分鐘 | | 延遲 p99 | > 3s | 連續 5 分鐘 | | Pod 重啟次數 | > 3 次 | 10 分鐘內 | | Memory/CPU | > 90% | 連續 5 分鐘 |
1. 偵測到異常指標
2. 觸發自動 Rollback(或人工決策)
3. 切換流量到前一版本
4. 驗證服務恢復正常
5. 建立 Incident 記錄
6. 分析根因,修正後重新部署
Google DevOps Research and Assessment 定義的 4 個關鍵指標:
| 指標 | 定義 | Elite 目標 | High 目標 | |------|------|-----------|---------| | Deployment Frequency | 部署到 Production 的頻率 | 每天多次 | 每天一次 | | Lead Time for Changes | 從 Commit 到 Production 的時間 | < 1 小時 | 1 天~1 週 | | Change Failure Rate | 導致 Production 問題的部署比例 | < 5% | 5%~10% | | MTTR | 從 Production 故障到恢復的時間 | < 1 小時 | < 1 天 |
Deployment Frequency = 部署次數 / 時間週期
Lead Time = Production 部署時間 - Commit 時間(平均值)
Change Failure Rate = 導致 Rollback 或 Hotfix 的部署數 / 總部署數
MTTR = 恢復時間 - 故障開始時間(平均值)
tools
基於 SLA/SLO 量化評估事故影響的計算模型與業務影響矩陣。適用於「SLA 影響」、「SLO 違反」、「影響評估」、「營收損失估算」、「Error Budget」、「可用性計算」、「事故成本評估」等量化事故業務影響的任務。強化 impact-assessor 的評估能力。注意:事故原因分析與改善規劃不在此技能範圍內。
research
根因分析(RCA)方法論詳細指南。提供 5 Whys、Fishbone 圖、Fault Tree Analysis、變更分析等結構化 RCA 技術,以及認知偏誤防範清單。適用於「根因分析」、「RCA」、「5 Whys」、「魚骨圖」、「Fault Tree」、「原因分析方法論」、「變更分析」等事故原因分析任務。強化 root-cause-investigator 的分析能力。注意:時間軸重建與改善規劃不在此技能範圍內。
testing
事故事後分析(Postmortem)完整流程。協調 7 個執行階段:資訊收集 → 時間軸重建 → 根因分析 → 影響評估 → 改善規劃 → 報告審查 → 整合報告,最終產出完整的 Postmortem 報告。適用於「寫事故報告」、「post-incident 分析」、「RCA 報告」、「事故時間軸整理」、「建立改善措施」等請求。注意:即時 Incident Response(on-call)、監控系統設定、告警配置不在此技能範圍內。
content-media
投影片版面模式庫。提供 20 種投影片類型的最佳版面配置、格線系統、色彩與字型設計 Token。適用於「投影片版面」、「Slide Layout」、「設計系統」、「格線」、「字型」、「色彩規範」等投影片視覺設計任務。強化 visual-designer 的設計能力。注意:PPT/Keynote 檔案直接輸出不在此技能範圍內。