DevOps 是什麼?

近年來,越來越多企業開始布局雲端、推動組織革新,而當組織進行服務重建及數位轉型時,極可能需要轉換或調整既有的版本更新流程產品開發流程,以實現 DevOps 與基礎架構現代化。DevOps 軟體開發概念強調在開發與IT維運人員共同合作與相互積極溝通之下,讓資訊更加透明、減少衝突,促成高效的應用程式開發,以更快地將新版功能或產品發佈給客戶。

舉例來說,專案上線前會由開發團隊 (Development) 負責寫程式、經過多次測試,上線後再由維運團隊 (Operations) 維護,DevOps 則將開發和維運這兩個通常會分開處理的部分結合在一起,改善專案開發和管理週期、帶來敏捷性。DevOps 的實踐能促進開發團隊與其維運團隊的溝通協作更順暢,彼此間的整合度、可見度及透明度亦更高。

 

SRE 和 DevOps 有什麼差異?

許多開發人員對於程式實際上是如何運作的認知有限,因為他們的工作週期在將程式打包好、提供維運部門後就結束了,而維運部門會負責將程式安裝、部署到所有生產環境的機器上,同時也要確保程式持續正常執行 — 在不了解程式實作細節的情況下。這樣的工作模式很容易造成開發與維運部門之間的矛盾,也造就了 DevOps 這個新的軟體開發文化的誕生。

SRE (網站可靠性工程) 一詞由 Google 提出,是一連串的規範和實作,SRE 可確保 DevOps 團隊在速度和穩定性之間取得適當的平衡。DevOps 定義「需要完成什麼任務」,而 SRE 著重「如何才能完成該任務」;一言以蔽之,SRE 可以說是 DevOps 的實作。

 

CI/CD 是什麼?跟 DevOps 有什麼關聯?

CI 是持續整合 (Continuous Integration) 的縮寫,而 CD 則是指持續交付 (Continuous Delivery);CI/CD 是企業實踐 DevOps 其中一件要做的事情,也是 DevOps 的核心。CI/CD 是持續整合和持續部署的組合實踐,可以簡單理解成程式專案每次更新都會經歷過一連串的整合流程,如測試、檢查、編譯等,然後將專案發佈、部署、監控。CI/CD 的出現極大地改變了傳統應用程式開發流程。

CI/CD 是什麼?跟 DevOps 有什麼關聯?

 

DevOps 優勢揭密

更快的速度

DevOps 強調自動化和持續整合/交付,減少團隊的手動任務,以專注於創新、快速因應變動的市場。舉例來說,微服務(Microservices)和持續交付(CD)可讓團隊取得服務的擁有權、更快速地進行版本更新。提升版本發行的頻率和速度,讓企業能更快地優化產品、即時回應客戶需求並保持競爭力。

更好的品質

隨著速度的提升,DevOps 亦提高了服務的品質和可靠性。在開發層面,藉由更高效的協作和更好的工具,企業可以解決問題和提高整合性。在維運層面,更頻繁的更新可以提高穩定性,進而提高使用者體驗。

強化安全性

DevOps 有時也包含與資安團隊的整合,這建立了一個稱為 DevSecOps 的模型,旨在實現更快、更可靠和更安全的軟體開發和維運。將安全作為基礎性的原則,並將它融入到開發團隊的文化和工作流程中,以確保開發過程中的資安無虞。

更高的可擴展性

DevOps 的自動化和一致性可協助企業有效管理複雜或變動大的系統,並降低風險。舉例來說,基礎架構即程式碼 (Infrastructure as Code,縮寫為 IaC) 使用可重複且更有效的方式,來協助企業管理開發、測試和生產環境。

 

Google Cloud 相關 DevOps 服務

Google Cloud 提供了 Cloud Build、Cloud Run 及 Cloud Deploy、Google Kubernetes Engine (GKE)、Artifact Registry、Cloud Source Repositories 等全代管 DevOps 服務,有效解決組織的 CI/CD 或維運需求。

  • Cloud Build:Cloud Build 與 Google Cloud 自家雲端開發環境整合,從 App Engine、Google Kubernetes Engine (GKE) 到 Compute Engine,都支援開發者透過 Cloud Build 將容器部署至這些IT環境運作。
  • Cloud Run:Cloud Run 可以讓使用者輕鬆部署無狀態容器,主要特色為「Bringing Serverless to Containers」,不須管理基礎架構也能建置容器,亦能結合GKE,在GKE 叢集上執行無伺服器應用。
  • Cloud Deploy:Cloud Deploy 是目前整合度最高的 GKE、Cloud Run 和 Anthos 部署平台,能持續推送軟體更新至 GKE、Cloud Run 和 Anthos。
  • Google Kubernetes Engine (GKE):GKE 是由 Google Cloud 提供的雲端版代管式 Kubernetes 平台,可以在 GKE 建立節點、部署並管理容器化應用程式。
  • Cloud Source Repositories (GCSR):GCSR 是 Google 推出以 git 為基礎的程式碼代管服務,類似GitHub,是用於存放程式原始碼的儲存庫。
  • Artifact Registry:Artifact Registry 的功能是儲存容器要使用的 Image。Cloud Build 在偵測到 Cloud Source Repository 更新後會自動創建 Image,而這個 Image 就會被存到指定的 Artifact Registry,且每次創建都會留下對應的版本。

 

DevOps 延伸閱讀暨參考資料

DevOps 最佳實踐 (影片)

CI/CD on Google Cloud (影片)

SRE 和 DevOps 有什麼差異?(影片)

Google Cloud:DevOps 研究與解決方案

使用 Google Cloud 持續整合/持續推送軟體更新

什麼是網站可靠性工程 (SRE)?

 

宏庭科技為 Google Cloud 菁英合作夥伴,榮獲 Google Cloud 原廠 Infrastructure 專業認證、Cloud Migration 專業認證、Work Transformation 專業認證,客戶遍及媒體業、電商業、零售業、資訊科技業與遊戲業;歡迎填寫連絡表單,讓宏庭科技專屬顧問為您規劃數位轉型旅程、實踐 DevOps!