GSS資安電子報0183期【GitOps Basics:開發人員將Git導入開發中】

2021年五月14日(五) PM 12:33
183.1

 

DevOps時代提供了我們很多新的趨勢和不同的流行事物可以嘗試。其中最受歡迎之一的是GitOps,這個新的術語由Weaveworks發起,在最新的聖地亞哥KubeCon大會上引起了熱烈的迴響。過去一兩年,GitOps曾被描述為一種策略、一種範例、一套作法、一個工作流程,甚至被描述為一門科學。GitOps也被稱為適用於開發人員針對Kubernetes、Serverless或CI/CD Pipeline的管理等等。所以GitOps到底是什麼?上述所有的說法都正確嗎?就讓我們花一點時間來了解GitOps的演變方式,以及GitOps如何協助開發人員,和它在DevOps生命週期中的適用範圍。

 

 

GitOps是什麼?它從何啟源?

183.2

GitOps這個術語是被創造出來的,又或是它已經成功的植入我們對於整合DevOps工具鏈的印象,GitOps由Weaveworks發起,開發人員可以使用熟悉的Git工具,便捷地將應用系統和其對應的設定,持續部署到Kubernetes等雲端環境。提高業務的敏捷度,快速回應用戶的需求,從而增加企業市場的競爭力。

Weaveworks將其對GitOps的定義歸納為:

  1. 為Kubernetes和雲端平台的運行模型,提供了一組最佳作法,可容器化叢集群(clusters)和對應用系統進行部署、管理和監控的策略。
  2. 開發人員管理應用系統的途徑;將end-to-end、CI/CD pipelines和Git工作流程整合到開發與管理環節。

 

GitOps的演進:不僅適用於Kubernetes部署

隨著採用DevOps進行開發,以適應當今的快速交付系統的頻率,我們都已經熟悉了shift left的模式,並且大多數人都在CI / CD流程的早期階段增加了自動化工具。隨著品質和安全性的測試工作被轉移到開發人員的手中,部署的工作很自然的也會由GitOps來接手。無論有沒有Kubernetes環境,開發人員現在都可以輕鬆使用Git,來管理基礎架構的組態設定及進行應用系統部署。

 
 

The GitOps Pipeline: GitOps是怎麼運作的?

Everett Toews形容,GitOps pipeline是一種通用的技術,且環境並不僅限定於Kubernetes之中才能實行。開發人員使用submit a pull request,review和merge等與開發相同的Git工作流程。在GitOps場景中,合併提交(merge)後,將執行自動操作。他解釋:「透過Pull或是Push等事件,應用系統將會自動從Git,取得或協調所需要的資源到運行環境。」

183.3

參考來源: Everett Toews blog:

https://etoews.github.io/blog/2019/11/07/gitops-is-reconciling-a-desired-state-in-git-with-a-runtime-environment/

 

 

GitOps的好處

GitOps成為趨勢的原因在於,它為系統開發組織提供了前所未有的功能,並且組織中使用的分散式系統和微服務也需要它。

開發人員和營運團隊獲得的好處是:

  1. 可視性:GitOps為開發團隊提供了所需的監視,日誌記錄、追蹤和可視化功能,以便他們知道什麼時候發生中斷以及在何處發生。shift left的優勢之一是能夠在問題變得嚴重而造成延遲交付之前解決問題。
  2. 版本控制和變更管理:由於所有部署都是版本化的,因此團隊可以輕鬆地簡化操作及審核。並在出現問題時迅速回復至舊版本
  3. 易於採用:開發人員已經在使用Git。 當他們開始編寫Git腳本欲執行部署時,他們不需要學習如何使用新工具,適應新環境或進行練習。
  4. 生產效率:開發團隊可以直接對運行中的應用系統(production)進行更新,以節省寶貴的時間。
  5. 稽核:使用Git意味著可以將每個操作追溯到一次提交,從而使DevOps團隊可以輕鬆地找到出現任何問題的根本原因。

 

 

Git On BoardGitOps將繼續蓬勃發展

GitOps是一種相對較新的工作流程,並且在這個行業中有些領先的解決方案已經開始支援。例如:GitHub Actions,GitLab CI或Jenkins X就已經支援GitOps。隨著GitOps做法和工具的不斷發展,我們將看到越來越多的解決方案將GitOps與CI / CD管道融合在一起,以實現系統部署或是Serverless的功能。

 

 

我們的建議:

如果您尚未開始考慮,請先讓開發人員測試一些GitOps工具,來檢視最適合您的環境、團隊和流程的工具。將Git導入到你們的開發流程,這會是推薦的第一步。

參考來源: https://resources.whitesourcesoftware.com/blog-whitesource/gitops

相關文章

軟體供應鏈必學資安課題,如何拉近開發與資安的距離?

今年 IT 圈最熱門的話題之一,便是資本額達百億元以上的上市櫃公司須在年底前完成設立資安長及資安專責單位。以往資深資安人才本就難尋,如今更是炙手可熱。日前台灣資安主管聯盟的成立大會上,會長金慶柏曾指出,目前全台資安人才缺口超過 4 萬人!既然對外招募不容易,那麼從企業內部培養資安人才、提升人員資安意識便是另一途徑。
2022/06/17

數位政府、開放金融 (open banking)、 數位生態圈 你準備好了嗎?

iThome: https://www.ithome.com.tw/pr/125569 叡揚資訊攜手 Axway 帶領客戶進行數位轉型。 由左至右:叡揚資訊系統事業處 何玉雲處長、Axway 亞太區 ...
2018/08/31