examlab .net 用最有效率的方法,考取最有價值的證照
本篇導覽 約 19 分鐘

DevOps 與 SRE 原則

3,780 字 · 約 19 分鐘閱讀 ·

掌握 CDL 考試的 DevOps 與 SRE 核心:Cloud Build 與 Cloud Deploy 實現 CI/CD、Terraform 實現 IaC、SLI/SLO/SLA、錯誤預算、雜務消除、無責難事後檢討,以及 DORA 指標全面解析。

立即做 20 題練習 → 免費 · 不用註冊 · CDL

什麼是 Google Cloud 上的 DevOps 與 SRE?

DevOps 是一種文化、一套實踐,以及一個工具鏈,將**軟體開發(Dev)IT 維運(Ops)**整合為一個持續運轉的循環。**Site Reliability Engineering(SRE)**是 Google 用於大規模可靠服務的工程紀律——它是將軟體工程思維應用於維運問題的成果。這兩個概念在 Cloud Digital Leader(CDL)考試中反覆出現,因為 Google Cloud 透過 Cloud BuildCloud DeployArtifact Registry 以及 Google Cloud Operations Suite 等服務,將其轉化為具體的產品。

CDL 考試不會要求您撰寫 Cloud Build 的 pipeline YAML 或組合 Terraform 模組。考試考的是商業決策者視角的題目:「為什麼組織要採用 DevOps?」「什麼是錯誤預算,它如何影響版本發布決策?」「哪個 Google Cloud 服務可以自動化 GKE 與 Cloud Run 的漸進式部署?」本章節建立您在考試中自信回答這些情境題所需的詞彙、心智模型,以及 Google Cloud 產品對應關係。

現代企業採用 DevOps 與 SRE 是有充分理由的:Google 每年發布的 DORA(DevOps Research and Assessment)State of DevOps 報告顯示,頂尖績效團隊的程式碼交付頻率比低績效團隊高出數百倍,而且變更失敗率更低。Google Cloud 將這些研究成果融入其工具,讓任何組織——從台北新創公司到跨國銀行——都能沿著 DORA 績效曲線持續進步,而無需自行重新摸索這些實踐。

讀完本章節,您將能描述 DevOps 與 SRE 的核心支柱、解釋 Google Cloud 的 CI/CD 產品如何相互配合、向非技術主管闡述 SLI/SLO/SLA 與錯誤預算,並從商業決策者角度分析現代化的取捨。

DevOps 基礎:CI、CD、IaC、自動化與文化

DevOps 奠基於四個實務支柱:持續整合(CI)持續交付/持續部署(CD)基礎設施即程式碼(IaC),以及無責難、協同合作的文化。這些都不是工具本身——它們是由工具所支撐的實踐方式。

持續整合(CI)

持續整合(Continuous Integration) 意味著開發者每天多次將工作成果合併到共用的主線分支。每次合併都會觸發自動化建置與自動化測試,讓臭蟲在引入後幾分鐘內就被發現,而非幾週後才被察覺。程式碼在獨立分支上存留愈久,合併的痛苦就愈大——CI 透過讓整合持續且小步進行,消除了這種痛苦。

在 Google Cloud 上,受管的 CI 服務是 Cloud Build。它監聽 GitHub、GitLab、Bitbucket 或 Cloud Source Repositories 的提交,在隔離的容器中執行您的建置步驟與測試套件,並產生已簽署的建置產物。Cloud Build 依建置分鐘計費,提供寬裕的免費配額,並與 Artifact RegistryCloud Deploy 原生整合。

持續交付與持續部署(CD)

持續交付(Continuous Delivery) 確保每次成功建置都處於「按下按鈕即可發布到正式環境」的狀態。持續部署(Continuous Deployment) 更進一步:每次通過測試的成功建置都會自動推送到正式環境。兩者的差異在於是否有人工核准閘門。

在 Google Cloud 上,受管的 CD 服務是 Cloud Deploy。它將交付 pipeline 模型化為一組有序目標——通常是 devstagingprod——並協調對 GKECloud RunAnthos 叢集的漸進式部署(progressive rollout)。Cloud Deploy 支援金絲雀發布(canary release)藍綠部署(blue-green deployment)一鍵復原(rollback),以及針對受管制環境的內建核准閘門(approval gate)

基礎設施即程式碼(IaC)

基礎設施即程式碼(Infrastructure as Code) 意味著將您的雲端資源——VPC、GKE 叢集、IAM 綁定、Cloud SQL 執行個體——描述為可版本控制的文字檔,由工具以可重複的方式套用。好處是巨大的:環境變得可重現、偏差可被稽核,而災難復原變成「重新執行程式碼」,而不是「點擊 400 個按鈕」。

在 Google Cloud 上,IaC 的事實標準是 Terraform。Google 維護官方的 googlegoogle-beta provider,Cloud Build 可以在自動化 pipeline 中執行 terraform planterraform apply。Google 也提供 Config Connector(Kubernetes 風格的 Google Cloud 資源宣告式配置)與 Infrastructure Manager(受管的 Terraform 執行服務),供希望使用全受管 IaC 後端的團隊使用。

全面自動化

DevOps 的核心主題是自動化。每個手動步驟——佈建伺服器、部署程式碼、執行測試、通知 on-call 工程師——都是自動化的候選項目。自動化能減少雜務(toil)(詳見 SRE 章節)、消除人為錯誤,並將工程時間釋放給更高價值的工作。

無責難、協同合作的文化

工具本身無法創造 DevOps。文化轉型同樣重要:開發者與維運者共享目標、共享指標,並共同承擔責任。當事件(incident)發生時,團隊聚焦於系統性根本原因,而非個人責任。這種文化打造出高度信任的環境,讓工程師願意在早期就坦承錯誤,而非掩蓋問題。

DevOps實踐(CI/CD、IaC、監控)、文化(共同擁有權、無責難學習)與工具(Cloud Build、Cloud Deploy、Artifact Registry、Terraform)的結合,壓縮了從撰寫程式碼到為使用者交付價值的時間,同時維持可靠性。SRE 是 Google 對 DevOps 的具體實踐模式,將軟體工程應用於維運問題。官方 Google Cloud DevOps 能力模型請參閱 https://cloud.google.com/architecture/devops。

白話文解釋

DevOps 與 SRE 在直接面對這些概念時,往往顯得抽象。最好的理解方式,是將它們對應到台灣人已經熟悉的日常場景。以下四個類比從不同角度切入同一套概念。挑一個最適合您的,在考試中用它來推理情境題。

類比 1 — 半導體工廠的自動化產線(CI/CD 自動化)

想像一座台灣的半導體工廠,每天生產數百萬片晶片。二十年前,每個步驟都是手動的:一位作業員放置矽晶圓,另一位作業員按下按鈕,第三位作業員目視檢查結果。產能低、缺陷率高,發貨一批產品需要好幾週。

今天,同一座工廠以全自動化產線運作。晶圓在輸送帶上移動,機械手臂以次毫米精度放置每個元件。線上檢測攝影機在晶片生產的當下就逐一測試,在進入下一道工序前就剔除不良品。若缺陷率突然上升,產線自動停止並通知主管。一批產品的交貨時間縮短至數小時。

這正是 Google Cloud 上的 CI/CD 對軟體所做的事。Cloud Build 是將程式碼從提交移動到產物的輸送帶。自動化測試套件是剔除不良建置的檢測攝影機。Artifact Registry 是儲存已完成、已版本化產品的倉庫。Cloud Deploy 是分批將產品交付到客戶手中的調度系統——先送到小規模試驗區(金絲雀),再到測試環境,最後到正式環境。若正式環境發現缺陷,rollback 就相當於一鍵召回不良批次。工廠類比完美解釋了為何 DevOps 團隊能比傳統團隊快出數百倍:每個步驟都是自動化的、可衡量的,以及可復原的。

類比 2 — 24 小時醫院 ICU(SLI/SLO/錯誤預算)

醫院加護病房(ICU)的目標並非「完美的」病患結果。它追求的是可衡量、可達成的目標:血氧飽和度高於 92%、心率維持在特定範圍、對緊急呼叫的回應時間在 30 秒以內。這些就是 ICU 的 Service Level Indicator(SLI)——正在被量測的具體數字。「92% 血氧飽和度」這樣的目標,就是 Service Level Objective(SLO)——團隊所承諾達成的目標。醫院與保險公司簽訂的合約(「緊急案例將在 15 分鐘內收治」),就是 Service Level Agreement(SLA)——具有違約罰則的法律承諾。

關鍵在於,沒有任何 ICU 承諾 100% 完美結果。這不僅難以實現,更會適得其反——追求 100% 意味著拒絕高風險手術,永遠不嘗試新療法。ICU 接受允許一定程度的風險——這就是錯誤預算(error budget)。這個預算被刻意「消費」:用於創新、培訓新醫師、進行臨床試驗。當預算耗盡(近期不良結果過多),ICU 暫停高風險手術,專注於穩定工作。

這正是 Google SRE 運作正式環境服務的方式。您的 SLI 可能是「99.9% 的 HTTP 請求在 200 毫秒內回傳成功」。您的 SLO 是目標(99.9%)。您的錯誤預算是剩餘的 0.1%——大約每月允許 43 分鐘的不可用時間。您的發布團隊在預算充裕時可以積極部署,在預算耗盡時必須放慢腳步。錯誤預算讓開發者(追求速度)與維運者(追求穩定)凝聚在同一個共享數字上。

類比 3 — 航空公司維修手冊(基礎設施即程式碼)

波音 787 客機不能靠直覺維修。每項檢查、每個零件更換、每次添加液體,都在維修手冊中有詳細描述——數千頁的逐步指示,讓任何合格的技術員都能執行出完全相同的結果。若取消手冊,讓每位技師自由發揮,航空公司將變得不安全且無法取得適航認證。手冊是唯一真相來源:不在手冊中的事情就是沒做;在手冊中的事情,每次都以相同方式完成。

基礎設施即程式碼為雲端基礎設施帶來相同的紀律。您不需要在 Google Cloud 控制台上點擊建立 VPC、GKE 叢集與 IAM 綁定,而是在 Terraform 配置檔中描述它們——任何人都可以閱讀、審查、版本控制並重新執行。需要建立測試環境時,terraform apply 在幾分鐘內重現整個設置。審計師詢問「請展示三月十五日的正式環境配置」時,git log 能給出明確答案。當災難發生、整個區域失效時,同一份 Terraform 程式碼可在其他地方重建環境。沒有 IaC,每個環境都變成獨一無二的雪花——獨特、未文件化、難以重現。有了 IaC,環境變得如同飛機:標準化、可認證,且安全可靠。

類比 4 — 棒球隊的教練統計數據(DORA 指標)

棒球教練不靠直覺評估球隊。教練量測打擊率上壘率自責分率守備率——具體的數字,揭示球隊的強項與需要加強的地方。沒有這些統計數據,進步是不可能的,因為沒有東西可以用來作為改進的基準。

DORA 指標是揭示軟體團隊績效的四項統計數據:部署頻率(Deployment Frequency)(您多常交付)、變更前置時間(Lead Time for Changes)(從提交到正式環境需要多長時間)、變更失敗率(Change Failure Rate)(多少比例的部署引發事件)與平均復原時間(Mean Time to Recovery,MTTR)(發生事件時多快能恢復服務)。如同打擊率,DORA 指標讓工程主管能將團隊與業界基準做比較:頂尖績效團隊每天部署多次,變更失敗率低於 5%;低績效團隊每月部署不到一次,失敗率是兩位數。Google 每年發布 State of DevOps Report,讓任何組織都能了解自己所在的位置,以及下一步應該改善什麼。

Google Cloud 的 CI/CD 工具鏈

Google Cloud 提供一套完整、整合的 CI/CD 工具鏈。每個服務都專注於做好一件事,並與其他服務原生連接。

Cloud Build — 受管 CI

Cloud Build 是 Google Cloud 的全受管 CI 服務。它在 Google 管理的基礎設施上以容器執行您的建置步驟,因此不需要維護任何建置伺服器。典型的 pipeline 流程:

  1. 開發者將提交推送至 GitHub。
  2. Webhook 觸發 Cloud Build。
  3. Cloud Build 執行 cloudbuild.yaml 中定義的步驟——docker buildgo testnpm run lint、安全性掃描。
  4. 成功後,Cloud Build 將映像檔推送至 Artifact Registry,並建立 Cloud Deploy release

Cloud Build 內建透過 Artifact Analysis 進行漏洞掃描、支援 VPC 內部建置的私有工作池(private pool),以及與 Binary Authorization 緊密整合以確保供應鏈安全。

Cloud Deploy — 受管 CD

Cloud Deploy 是針對 GKECloud RunAnthos 目標的受管持續交付服務。您宣告一份列出有序目標的交付 pipeline YAML(devstagingprod),Cloud Deploy 負責處理:

  • 以流量分流進行的漸進式部署(例如:10% → 25% → 50% → 100%)。
  • **金絲雀(canary)與藍綠(blue-green)**部署策略。
  • 正式環境晉升的核准閘門
  • 回到任意先前版本的一鍵復原
  • 紀錄誰在何時將什麼部署到何處的稽核軌跡

Artifact Registry — 容器與套件儲存

Artifact Registry 是 Google Cloud 用於儲存 Docker 映像檔MavennpmPythonGo 與 OS 套件的統一儲存庫。它取代了舊版的 Container Registry,並提供:

  • 區域與多區域儲存庫以降低延遲。
  • 透過 Artifact Analysis 進行漏洞掃描
  • 讀取/寫入/管理的細粒度 IAM
  • 遠端與虛擬儲存庫,可代理 Docker Hub 與 PyPI 等公開儲存庫,提升安全性與可靠性。

Cloud Source Repositories — Git 代管

Cloud Source Repositories 在 Google Cloud 上提供私有 Git 代管。實務上,大多數團隊將程式碼存放於 GitHubGitLab,並透過 Cloud Build GitHub App 或 Webhook 將外部儲存庫連接至 Cloud Build。CDL 考試將 GitHub/GitLab on Google Cloud 視為主流模式,而 Cloud Source Repositories 是希望所有資源都在 Google Cloud 範圍內的團隊所使用的備選方案。

Skaffold — 本地內迴圈

Skaffold 是 Google 開源的工具,用於自動化本地開發的內迴圈:監看原始碼檔案、重新建置容器、重新部署到本地或遠端 Kubernetes 叢集,並串流輸出日誌。它將 docker buildkubectl apply 與即時重載整合成單一的 skaffold dev 指令。Skaffold 也是 Cloud Deploy 渲染 Kubernetes Manifest 的底層引擎。

Terraform on Google Cloud — IaC

Terraform 是 Google Cloud 上的 IaC 標準。官方 googlegoogle-beta provider 幾乎涵蓋所有 Google Cloud 資源。最佳實踐模式:

  • 將 Terraform 狀態儲存在啟用版本控制與鎖定的 Cloud Storage bucket
  • 為每個環境(dev、staging、prod)使用獨立狀態
  • 以專用服務帳號從 Cloud Build 執行 terraform planterraform apply
  • 管理 Workload Identity Federation 讓 Terraform 永遠不需持有長效憑證。

針對 CDL 考試,請記住 Google Cloud CI/CD 產品對應關係:受管 CI = Cloud Build、具漸進式部署的受管 CD = Cloud Deploy、容器與套件儲存 = Artifact Registry、本地開發迴圈 = Skaffold、IaC 標準 = Terraform。提到「自動化建置 pipeline」或「建置分鐘數」的情境指向 Cloud Build;提到「金絲雀部署」或「正式環境前的核准閘門」的情境指向 Cloud Deploy。官方說明請參閱 https://cloud.google.com/build/docs/overviewhttps://cloud.google.com/deploy/docs/overview。

SRE 支柱:SLI、SLO、SLA 與錯誤預算

Site Reliability Engineering 於 2003 年在 Google 誕生,並在 2016 年與 2018 年出版的 SRE 書籍中系統化。其核心理念:將維運視為軟體工程問題。以下支柱在 CDL 考試中直接出現。

CDL 考試最常見的 SRE 題型:「一個電商平台對客戶承諾 99.9% 可用性 的 SLA。由於某次版本發布引發連鎖故障,在第三週時已消耗 80% 的每月錯誤預算。SRE 團隊接下來應該怎麼做?」預期的答案是放慢版本發布速度優先處理可靠性工作,直到錯誤預算恢復——而非繼續推出更多功能。錯誤預算概念將「100% 正常運行時間」轉化為可衡量的**速度(交付功能)可靠性(正常運行時間)**之間的取捨。請優先選擇尊重錯誤預算的答案,而非追求零停機時間的答案。

Service Level Indicator(SLI)

SLI 是服務品質某個特定面向的量化衡量——您量測的事物。常見的 SLI:

  • 可用性(Availability): 成功請求佔總請求數的比例。
  • 延遲(Latency): 第 50、95、99 百分位的回應時間。
  • 吞吐量(Throughput): 每秒服務的請求數。
  • 正確性(Correctness): 回傳正確資料的回應比例。
  • 耐久性(Durability): 在特定時間窗口內被保存的物件比例。

好的 SLI 應以使用者為中心:衡量客戶實際體驗到的事物,而非內部的 CPU 使用率。

Service Level Objective(SLO)

SLO 是在特定時間窗口內 SLI 的目標值——您在內部承諾達成的目標。範例:「在滾動 28 天窗口內,99.9% 的 HTTP 請求在 300 毫秒內回傳 2xx 回應。」SLO 不是最高可達到的品質;它是您的客戶認為可接受的最低標準。

Service Level Agreement(SLA)

SLA 是您對客戶就 SLO 所做的合約承諾,通常在違約時有財務罰則。SLA 必然比內部 SLO更寬鬆,因為您需要緩衝空間:若您的內部 SLO 是 99.95%,而對客戶的 SLA 是 99.9%,您就有足夠的空間在客戶申請退款之前偵測並修復問題。

錯誤預算(Error Budget)

錯誤預算100% 與您的 SLO 之間的差距。若您的 SLO 是 99.9%,您的錯誤預算就是 0.1%——大約每月允許 43 分鐘的停機時間。這個預算是一種可消費的資源

  • 預算充裕時,團隊可以積極部署、執行混沌實驗,並交付高風險的新功能。
  • 預算耗盡時,團隊必須放慢版本發布、專注於可靠性修復,並可能凍結部署直到 SLO 恢復。

錯誤預算在速度與可靠性之間建立了內建的取捨機制,讓開發者與 SRE 凝聚在同一個共享指標上。

SLI = 您量測的事物(例如:成功率)。SLO = 目標,您承諾達成的(例如:99.9%)。SLA = 合約,對客戶的承諾及其財務罰則。錯誤預算 = 100% − SLO = 您可以用於版本發布速度的允許不可靠性。內部 SLO 應始終比外部 SLA 更嚴格。規範性 SRE 定義請參閱 https://cloud.google.com/sre。

100% 正常運行時間並非現實可行的 SLO。 CDL 題目常見的陷阱是選擇「我們應該追求 100% 可用性」。Google SRE 的教義恰好相反——追求 100% 會阻礙創新,因為每次變更都變成對完美紀錄的威脅,而且每多加一個「九」的邊際成本呈指數增長(從 99.9% 提升到 99.99% 可能需要 10 倍的備援成本)。正確答案是:定義客戶可接受的 SLO(通常是 99.9% 或 99.95%),然後將錯誤預算用於速度。參閱 https://cloud.google.com/sre/sre-fundamentals。

雜務消除與自動化

雜務(Toil) 是 Google SRE 對手動、重複性、可自動化、戰術性、缺乏持久價值的維運工作的術語。手動重設密碼、透過 SSH 重啟伺服器、每晚執行相同的資料庫匯出腳本——這些都是雜務。SRE 團隊的目標是工程師花費在雜務上的時間少於 50%,其餘時間用於降低未來雜務的工程工作。

雜務消除策略:

  • 以腳本、Cloud Workflows 或由 Pub/Sub 觸發的 Cloud Functions 自動化重複性的 runbook。
  • 透過內部平台自助化常見請求,取代票務佇列。
  • 透過修復根本原因,徹底消除特定類別的工作。
  • 量測團隊在雜務上花費的時間,讓趨勢得以可見。

直接減少雜務的 Google Cloud 服務包括:Cloud Operations Suite(自動收集指標、日誌與追蹤資料——無需代理程式的雜務)、Cloud Run(無伺服器可修補)以及 GKE Autopilot(無需管理節點)。通則:服務愈受管,雜務愈少

無責難事後檢討與事件回應

當事件(incident)發生時,SRE 的回應方式是無責難(blameless)的:事後檢討(postmortem)聚焦於系統性因素——缺失的警示、不清晰的 runbook、單點故障——而非個人失誤。前提是:人類在壓力下會犯錯;系統必須被設計為能安全地吸收這些錯誤。

無責難事後檢討通常包含:

  • 使用 Cloud Logging 時間戳記的事件時間線
  • 根本原因分析(使用五問法等技術)。
  • 做得好的事情(提早偵測、快速復原)。
  • 做得不好的事情(警示的缺口、通知鏈過慢)。
  • 具有負責人與到期日的行動項目

輸出結果廣泛公開,讓整個工程組織從中學習。這是 DORA 研究中區分頂尖績效團隊的文化實踐之一。

針對 CDL 情境題中提到「事件發生後,團隊召開會議討論發生了什麼,但不責怪任何個人」,答案是無責難事後檢討(blameless postmortem)——核心的 SRE 實踐。將此與錯誤預算概念搭配:無責難事後檢討通常產出能保護未來錯誤預算的改變(更好的測試、更好的警示、更好的自動化復原)。Google Cloud 的事後檢討指引請參閱 https://cloud.google.com/architecture/framework/reliability/postmortems。

DORA 指標:衡量 DevOps 績效

DORA(DevOps Research and Assessment) 團隊——現已成為 Google Cloud 的一部分——進行了迄今最長期的 DevOps 實踐學術研究,每年以 State of DevOps Report 的形式發布。他們提煉出四項關鍵指標,用於預測卓越的工程績效:

部署頻率(Deployment Frequency)

團隊多常將程式碼推送到正式環境?頂尖團隊每天部署多次;低績效團隊每月不到一次。高部署頻率需要自動化、小批次提交,以及以主線為基礎的開發方式。

變更前置時間(Lead Time for Changes)

main 分支的一次提交,到那段程式碼在正式環境中執行,需要多長時間?頂尖團隊以小時衡量;低績效團隊以衡量。短前置時間需要自動化測試、自動化部署,以及緊密的反饋迴圈。

變更失敗率(Change Failure Rate)

多少比例的部署引發了事件、復原(rollback)或緊急熱修復?頂尖團隊將此控制在 5% 以下;低績效團隊看到的是兩位數的失敗率。低變更失敗率需要完整的自動化測試與漸進式部署策略。

平均復原時間(Mean Time to Recovery,MTTR)

當事件發生時,團隊多快恢復服務?頂尖團隊在一小時以內恢復;低績效團隊可能需要數天。快速恢復需要自動化復原、無責難文化,以及透過 Cloud Operations Suite 實現的良好可觀測性。

四項 DORA 指標共同提供全面性的視角:速度(部署頻率 + 前置時間)與穩定性(變更失敗率 + MTTR)。改善其中一項而忽略另一項,是一個警告訊號。

現代化旅程:從手動維運到完整 SRE

大多數組織不會從「票務與 bash 腳本」直接跳到「頂尖 DORA 績效」。實際的現代化旅程:

  1. 採用版本控制與 CI — 所有變更透過 Git 進行,並由 Cloud Build 自動建置與測試。
  2. 容器化並標準化產物 — 將應用程式打包成儲存在 Artifact RegistryDocker 映像檔
  3. 自動化部署 — 以包含核准閘門的 Cloud Deploy pipeline 取代手動 kubectl apply
  4. 採用 IaC — 在 Terraform 中描述基礎設施,將狀態儲存在 Cloud Storage,並透過 Cloud Build 套用。
  5. 定義 SLO 與儀表板 — 在 Cloud Monitoring 中設置 SLI,發布 SLO 消耗率警示。
  6. 執行無責難事後檢討 — 每次事件都產出可分享的學習。
  7. 消除雜務 — 量測維運時間,每季自動化最耗時的工作。

每個步驟都會強化下一步。有關驅動第 5 至 7 步的可觀測性層,請參閱 /en/certs/gcp/cdl/topics/google-cloud-operations-suite。有關運算選擇如何影響維運負擔,請參閱 /en/certs/gcp/cdl/topics/google-cloud-compute-options/en/certs/gcp/cdl/topics/containers-vs-vms

DevOps Pipeline 中的安全性(DevSecOps)

現代 DevOps 將安全性嵌入 pipeline,而非在最後才附加。Google Cloud 以下列方式支援 DevSecOps

  • Artifact Analysis 對每個容器映像檔進行漏洞掃描。
  • Binary Authorization 強制執行「只有來自可信來源的已簽署映像檔才能部署」。
  • Cloud Build 私有工作池(private pool) 讓建置工作者可以存取 VPC 內部的相依項目,而不需要公開暴露它們。
  • Workload Identity Federation 讓 pipeline 在不需要長效服務帳號憑證的情況下向 Google Cloud 驗證身分。
  • Software Delivery Shield 作為供應鏈安全性態勢的總體管理傘。

典型的 CDL 情境:「組織如何確保只有經過核准的容器映像檔能在正式環境中執行?」答案是以 Artifact Registry 作為可信來源的 Binary Authorization

DevOps 與 SRE 的成本與商業價值

對於 Cloud Digital Leader,DevOps 與 SRE 的商業價值是最重要的部分:

  • 更快的上市時間 — 功能在數天而非數季內完成交付。
  • 更低的變更失敗率 — 更少的停機事件意味著更低的客戶流失率與更低的事件回應成本。
  • 更高的工程師滿意度 — DORA 研究顯示,頂尖團隊由於自動化消除了雜務,因此倦怠率更低。
  • 稽核與法規遵從準備度 — 每次部署都記錄在 Cloud Audit Logs,每次基礎設施變更都在 Git 中。
  • 可預測的基礎設施成本 — IaC 加上 Recommender 的調整建議可防止意外帳單。

投資成本——Cloud Build 的建置分鐘數、Cloud Deploy 的目標數量、Artifact Registry 的儲存空間、工程師培訓——與一次重大停機或一個錯過的發布窗口的成本相比,微乎其微。這個投資報酬率(ROI)論證,正是 Cloud Digital Leader 向高階主管提議採用 DevOps 時所使用的說辭。

常見問題

Q:哪個 Google Cloud 服務是受管的 CI 服務?

A: Cloud Build。 它在 Google 管理的基礎設施上的隔離容器工作者中執行您的建置與測試步驟,與 GitHub/GitLab/Bitbucket/Cloud Source Repositories 整合,並將建置產物推送至 Artifact Registry。計費方式為按建置分鐘計費,且有免費配額。當 CDL 情境題提到「自動化建置」、「建置 pipeline」或「Google Cloud 上的 CI」時,答案就是 Cloud Build。

Q:Cloud Deploy 與 Cloud Build 有何不同?

A: Cloud Build 是 CI — 它將原始碼轉化為經過測試的產物。Cloud Deploy 是 CD — 它取得這些產物,並透過包含核准閘門、金絲雀策略與一鍵復原的交付 pipeline,將它們漸進式地部署到 GKECloud RunAnthos。完整的 pipeline 幾乎總是同時使用兩者:Cloud Build 將映像檔發布至 Artifact Registry,然後觸發 Cloud Deploy release。

Q:什麼是錯誤預算,Google SRE 為何推薦它?

A: 錯誤預算是 100% 與您的 SLO 之間的差距。若您的 SLO 是 99.9% 可用性,您的錯誤預算是 0.1%——大約每月允許 43 分鐘不可用時間。錯誤預算的目的是用於版本發布速度:預算充裕時,團隊快速交付;耗盡時,團隊放慢腳步並優先處理可靠性。它透過讓取捨變得明確且可衡量,防止「交付功能」與「維持網站正常運行」之間的假性對立。

Q:SLO 與 SLA 有什麼差別?

A: SLO(Service Level Objective) 是團隊承諾的內部目標(例如:99.95% 可用性)。SLA(Service Level Agreement) 是與客戶的外部合約,通常在違約時有財務罰則(例如:99.9% 可用性,若未達成則退款 10%)。最佳實踐是讓內部 SLO 比外部 SLA 更嚴格,這樣團隊才有緩衝空間在客戶有權申請退款之前偵測並修復問題。

Q:DORA 的四項指標是什麼?

A: 部署頻率(Deployment Frequency)變更前置時間(Lead Time for Changes)變更失敗率(Change Failure Rate)平均復原時間(Mean Time to Recovery,MTTR)。它們共同衡量速度(部署頻率、前置時間)與穩定性(變更失敗率、MTTR)。Google 年度 State of DevOps Report 中的頂尖績效團隊,每天部署多次,變更失敗率低於 5%,並在一小時內從事件中恢復。DORA 指標是衡量 DevOps 績效的標準方式。

Q:CDL 考試需要了解基礎設施即程式碼嗎?

A: 您不需要撰寫 Terraform HCL 語法,但您必須認識 IaC 是什麼為何組織採用它(可重現的環境、可稽核的變更歷史、更快的災難復原),以及哪些工具在 Google Cloud 上實現它(搭配官方 google provider 的 Terraform,加上 Config Connector 與 Infrastructure Manager)。情境題中提到「版本控制的基礎設施」或「可重現的環境」時,就指向 IaC。

總結

DevOps 結合實踐、文化與工具,壓縮從撰寫程式碼到交付價值的時間;SRE 則是 Google 大規模可靠服務運作的具體工程紀律。Google Cloud 透過整合的工具鏈將兩者產品化:

  • Cloud Build — 將提交轉化為經過測試產物的受管 CI。
  • Cloud Deploy — 具漸進式部署、金絲雀發布與一鍵復原的受管 CD。
  • Artifact Registry — 容器映像檔與語言套件的統一儲存庫。
  • Skaffold — 本地開發內迴圈。
  • Terraform on Google Cloud — 透過 Infrastructure Manager 提供受管執行的 IaC 標準。
  • Cloud Operations Suite — SLI、SLO 與警示的可觀測性骨幹。

SRE 支柱——SLI、SLO、SLA、錯誤預算、雜務消除、無責難事後檢討——讓組織以可衡量、可持續的方式平衡速度與可靠性。DORA 指標——部署頻率、前置時間、變更失敗率、MTTR——讓領導者能將團隊與業界做基準比較。身為 Cloud Digital Leader,您的職責是將這些概念轉化為商業成果(更快的版本發布、更低的流失率、可預測的成本),並將每個情境對應到正確的 Google Cloud 服務。掌握這套框架,CDL 考試上所有的 DevOps 或 SRE 題目都將迎刃而解。

官方資料來源

更多 CDL 主題