Devops - Highway Strategy 高速公路策略

Photo by Denys Nevozhai on Unsplash

在過去十年的開發經驗,大部分是新創團隊,全部工程師加起來不超過 20 人的團隊。最近才加入一個大團隊,光是 DevOps 就破百人了,還有破百個 AWS Accounts + Regions。

進來後就發現有各種 solution + architecture,其中有幾個團隊,試圖做一個大的自動化框架,標準化全公司的 CICD + EKS + AWS。

我個人也是希望大家都使用統一的標準、流程和工具,這樣資訊和技術的落差比較小,訓練和開發的成本也能降低許多。但是,搞到最後,我為了配合大標準,犧牲了一堆習慣的功能,一堆 tradeoff,變成我開發也困難、部署也困難

我開始反思,一間公司只需要一套標準嗎?把所有人的需求都加到裡面,就能變成一套完美的工具嗎?

我覺得事實剛好相反,這邊我提出一個高速公路策略(Highway Strategy):

  1. 不可能所有車,去到任何地方都要上高速公路,有些人只是想開到兩個巷口外的餐廳而已。
  2. 鄉間小路還是必要的。
  3. 可以從鄉間小路統計,哪邊有夠多的流量和用戶,才有必要開發高速公路。
  4. 在開發一條高速公路,應該是一段一段接上的。
  5. 在高速公路檢查胎壓、水箱?聽起來怪怪的吧,有些事情是出發前就應該自己檢查了。

下次如果你們的 DevOps 或是其他團隊,想要統一架構,合併你們的代碼或是 CICD 時,不仿想想高速公路策略,這條公路真的有加速你們到達目的地嗎?

最終還是要回到用戶導向(User-Oriented),你蓋個高速公路真的有使用者嗎?還是你蓋完後要過兩年才有用戶?這聽起來很不敏捷也很不 DevOps 吧?