From DevOps to GitOps with GitLab

感謝 iThome 的邀請,有幸能擔任 iThome Cloud Edge Summit 2020 的講師,負責一場演講及大會稱之為「雲端體驗營」的其中一場 Lab。

這次準備的主題是目前正熱門的 GitOps。 (本文同步發表於 Medium

時間非常巧的,在大會舉辦的前些日子,正好有其他厲害的講師(邱牛)於 Cloud Native Taiwan 社群分享相同的主題,因此最後決定改變演講內容,嘗試用不同的角度來切入分享 GitOps。

因此這次演講與 Lab 的關鍵字雖然是 GitOps,但比起如何在 K8S 上實踐 GitOps 及相關的技術實作細節,我想要分享的內容是:

  • 實踐 GitOps 一定要透過 K8S 嗎?
  • 除了技術層面上帶來的優點之外,GitOps 還帶來哪些好處? 另外,由於在上半年期間都沒有在社群中分享 GitLab 的相關演講,覺得有愧於 GitLab Hero 的身份,最終演講題目定為《From DevOps to GitOps with GitLab》,而 Lab 的題目則是《GitOps with GitLab》。借這次大會分享 GitLab 公司及我個人對於 GitOps 的一些看法。

已經有研究過 GitOps 的人應該都知道,GitOps 一詞來自於 Kubernetes(K8S)及 Cloud Native 社群,甚至可以說是來自於 WEAVEWORKS。因此早先關於 GitOps 的看法,幾乎都是來自於此。

不過與 DevOps 的狀況類似,當有一個新詞開始熱門時,各雲端服務供應商可是不會放過這股潮流趨勢,GitLab 公司當然也不落人後。目前在 GitLab 官網上已經提供了 GitOps 的相關內容。而且資料是越來越多,目前看來 GitLab 有計畫要將 GitOps 作為市場的切入點,從我開始準備題目,直到實際演講的這幾個月內,GitLab 官網就默默的新增許多值得參考的內容。

回到演講內容,主軸即是前述的兩個提問,因此在演講中嘗試傳達以下幾件事:

  • Join DevOps Taiwan Community (疑)
  • GitOps = IaC + MRs + CI/CD
  • GitOps is IaC done right!
  • DevOps, then GitOps
  • GitOps (with K8S) is not for everyone!(暫時看來)

簡報如下:

GitOps 除了需要一個良好的工具(平台)之外(例如 K8S),也需要良好的 Workflow 及 DevOps 實踐,團隊必須輔以這些規範,才能有效的實踐 GitOps。而在開始實踐 GitOps 之前,第一步恐怕也不是架設 K8S,畢竟雖然 K8S 與 Container 是如此的美好,但這個世界還有很多人生存在 Container 以外的世界。所以在踏進 K8S 之前,不妨先看一看還有哪些事情是實踐 GitOps 的必要條件。

DevOps 不僅可以運用在 Application,也能運用在 Infrastructure,讓 IaC 做得更好更對,從 DevOps 邁向 GitOps,進一步讓整個組織不論 Dev、Ops、Infra、Business 各團隊皆能在同一個平台以同一種 Workflow 共同協作。(小提醒,理想是美好的,實踐過程是辛苦的,現實環境則是⋯⋯)

對於 GitLab 提出的 GitOps 看法有興趣的朋友,可以參閱 GitLab 的介紹:

至於 Lab: GitOps with GitLab 的內容,就待下篇文章再分享了。

轉貼本文時禁止修改,禁止商業使用,並且必須註明來自「艦長,你有事嗎?」原創作者 Cheng Wei Chen,及附上原文連結。

工商服務

更多文章