iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
1
DevOps

Best Practice for DevOps on GitLab and GCP系列 第 2

Best Practice for DevOps on GitLab and GCP : DevOps 工具鍊 - Day 2 -

前言

通過上一篇 DevOps 定義 知道 DevOps 起源及特性後,接著將要開始進入 DevOps 的一系列階段,如同前篇所提到的 DevOps 沒有固定的作法也沒有明確的定義,有不少組織提供了可供參考的 DevOps 概念圖。現在要來講的就是由 Gartner 提出,並被延用至今的一個 DevOps 工具鍊 (Toolchain),通過工具鍊圖中的七個階段可以提升對於 DevOps 的了解,進而開始建構出適合自家系統的 DevOps 工具鍊。

DevOps 工具鍊的七個階段

Gartner DevOps Toolchain

此圖為 Gartner DevOps Toolchain,Gartner 在將七個階段定義出來的同時,又將其分為耳熟能詳的四大區塊,分別是:

  1. 持續整合 --- Continuous Integration (Plan, Create)
  2. 持續交付 --- Continuous Delivery (Verify, Pre-prod)
  3. 持續發佈 --- Continuous Deployment (Release, Configure)
  4. 操作 --- Operate (Configure, Monitor)

再一次強調這並不是唯一或標準的定義,不同的團隊組織皆可以自訂更加適合自己的工具鍊,以此來達到軟體被快速交付,也同時確保了軟體在品質上的必要性。

規劃階段 (Plan)

計畫階段是由專案擁有者、開發人員、維運人員...等,依據商業需求的複雜性、大小、嚴重性、功能和價值等,共同為了以符合商業需求且可發佈軟體為目標,是持續性快速疊代開發中的一個活動環節,此活動將驅使發布計劃不斷向前邁進。

創建階段 (Create)

創建階段是所有與產出程式碼相關的活動皆屬於此階段,在一些情境中創建與驗證階段是相互重疊或合併在一起的,這會取決於團隊所傭有的技能、腳色、服務的類型與服務的架構有關。

驗證階段 (Verify)

驗證階段是所有與確保程式碼品質的所有相關活動,其中一部分驗證階段將被包含在創建階段中。但更重要的是指在交付程式碼前,專門為提升程式碼品質而存在的一連串測試,如:用戶驗收測試、冒煙測試...等。

前製階段 (Pre-prod)

前製階段將取決於軟體如何發佈到生產環境中,其內容包含為了能順利佈署所需要的事前準備活動,也包含已被驗證軟體的自動發佈或等待發佈。前製階段不應被視為是障礙,而是一個不可或缺的過程,以幫助企業順利完成準備。

發佈階段 (Release)

發佈階段包含排程、協調、定義和佈署軟體到生產環境。在此階段會確保目標環境是正常可接收狀態,並持續追蹤發佈活動的日誌、報告和告警。除了在發生錯誤時快速退版外,還應當包括變更管理工具。

配置階段 (Configure)

配置階段是一個不可或缺的環節,沒有服務可以獨立存在而不需要任何配置。軟體被佈署後,會有許多的配置是無法在創建和驗收階段被設置好的,這些內容可能包含共享服務平台、儲存、資料庫和網路。

監控階段 (Monitor)

監控階段的重點在於生產環境運行的狀態和發佈過程中的各種指標。通過監控查看各種測試結果,以衡量發佈的有效性;或通過監控可查明特定版本的問題,並了解到終端用戶的使用體驗。

結論

DevOps 工具鍊沒有標準的作法,使用者可以依據實際需求作調整。七個階段實際上並非互斥的關係,如創建及驗證階段是可能重疊或合併在一起,監控階段也與各個環節息息相關。通過 DevOps 工具鍊的七個階段和四大區塊,可以看出仍有一部分需要操作,而大多數則有機會落入自動化的流程。

Reference


上一篇
Best Practice for DevOps on GitLab and GCP : DevOps 定義 - Day 1 -
下一篇
Best Practice for DevOps on GitLab and GCP : DevOps 開源工具鍊 - Day 3 -
系列文
Best Practice for DevOps on GitLab and GCP30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言