Day27:也許你不一定需要 GitOps 或 Platform engineering?(二)

昨天我們談到了 GitOps 很棒很美好,但真的要搞好 GitOps 似乎沒有那麼簡單?

因為⋯⋯

  • 你要能搞定 K8s + Cloud。
  • 你的應用程式要能跑在 K8s 之上。

也就是說⋯⋯

  • 你的 infrastructure 就是 K8s + 運行在上面的 Container + 各種 Cloud Service。
  • 你的軟體架構、軟體部署都要能吻合 Cloud Native。舉例來說,如果你的應用程式以 10 個 Container 運行,是否可以隨意抽掉其中一個,無痛的重新運行一個新的 Container 取代它,並且線上的使用者不會受到任何影響?

因此你會需要⋯⋯

  • 一組能搞定 K8s + Cloud 的 Ops + Infra 團隊。
  • 一組能懂得如何開發 Cloud Native 應用程式的開發團隊。

先來聊聊「一組能懂得如何開發 Cloud Native 應用程式的開發團隊」,這個在前幾天聊 CI/CD Pipeline 歷史時有聊過一些。似乎大家普遍都認同要開發一個全新的應用程式,讓它原生就擁抱 Cloud Native 的難度比較低,反而容易卡關的都是,如何將既有正在賺錢的老產品,從舊的架構轉換成新架構;開發團隊對於全新的產品可以直接採用全新的架構與第 3 代 CI/CD Pipeline,而有點歷史與遺產的產品只得暫時卡在 2.5 代 Pipeline。

至於「能搞定 K8s + Cloud 的 Ops + Infra 團隊」這一點,聽說它現在有個很潮的名字叫做 Platform team,同時搭配上新一波的 buzzword - Platform engineering,三天兩頭的一下說要把 DevOps 給殺了,下一秒又說它來是要幫助 DevOps 成功,結果隔天又說要來取代 DevOps。

Facebook 貼文截圖,作者分享「DevOps 又要再死一次了!」,轉貼 InfoQ 文章「要什麼 DevOps,我們開發者根本不想做運維!」,並附上 Platform Engineering 相關討論 (截圖來自 DevOps Taiwan FB 社團。今天說 DevOps is dead。)

Facebook 貼文截圖,作者反諷「不是昨天才說要讓 DevOps 死,今天又說要讓 DevOps 成功?」,轉貼 The New Stack 文章「Platform Engineering: The Path to DevOps Success」 (截圖來自 DevOps Taiwan FB 社團。隔兩天說要讓 DevOps 成功。)

Facebook 貼文截圖,轉貼 The New Stack 文章「Platform as a Product: True DevOps?」,討論 Platform Engineering 是否為 DevOps killer 或 true DevOps (截圖來自 DevOps Taiwan FB 社團。再隔兩天,又要殺了 DevOps 取而代之。)

電影劇照,字幕「你搞得我好亂啊!」 (梗圖來源:memes.tw

但其實一點都不亂,如果你有讀過最近各種談論 Platform engineering 的文章,你會發現它們談的事情其根源都是相同的。

All of this history leads us to platform engineering. ——引用自文章《How Platform Engineering Differ from DevOps and SRE》

也就是筆者這次系列文一再重複的內容,一切都是隨著歷史發展,而出現的思維及技術的正常演化啦~

  • 「You build it, you run it.」是過去的年代企業實踐 DevOps 的一種方式。
  • 將 OOXX 左移,大量僱用或培育 T 型人才,也是某些企業在某個時期實踐 DevOps 的方式。
  • 使用現成一條龍的 DevOps 工具鏈,直接打通開發至維運所有的流程,當然也是一種實踐 DevOps 的方式。
  • 成立 DevOps / SRE Team,自行開發企業內部的自動化平台(DevOps 平台),亦是一種過去經常能聽見的 DevOps 案例。

最後到了現在,出現了一條新的路——善用 Cloud + Container 技術,讓 Platform team 建立並維運一個包含開發、交付、部署、維運、infra 的內部平台,讓 Dev 及 Ops 都可以專心做好自己的工作,用簡單的方式(標準化的平台 + 流程)解決複雜的問題(開發者及維運者體驗、協作、溝通、資訊透明、流程、營運)。

你說這條新路,你不覺得它聽起來非常的 DevOps 嗎!

所以嘍,你要說 DevOps 已死,它還真的死了,過去的某些 DevOps 實踐方式已死;你要說它讓 DevOps 成功,也確實真的成功了,因為再一次的 Dev 與 Ops 又能好好的協作了;你要說它是 True DevOps,它也真的是,因為它能帶來的美好情境,就真的十分的 DevOps 啊~

最後,讓我們一起來呼口號!

DevOps is dead, long live DevOps! DevOps is dead, long live DevOps! DevOps is dead, long live DevOps!

DevOps 輕鬆聊,我們明天見~