易快報:我們用 Zadig 實現萬次構建部署,聰明運維,釋放開發生產力

語言: CN / TW / HK
易快報是一家從事費控報銷 toB 的 SaaS 企業,致力於企業財務數字化領域雲產品及服務的創新,運用前沿的數字技術和先進的創想理念,構建財務數智化中臺賦能未來財務人成長。通過敏捷連線的模式創新和自主研發的“無需報銷”解決方案為企業提供聚合消費、報銷費控、企業支付、發票及電子檔案管理等一站式服務,為企業業財融合提供資料決策分析與支援,助力企業實現降本增效與合規經營,易快報從早期版本就開始關注 Zadig。
 
 

 

背景

隨著研發團隊不斷擴張,產研團隊已達到 200 多人,GitLab CI/CD 已經無法滿足研發們日益增加的需求, 環境管理,許可權劃分,構建優化等大大的增加了運維的成本,因此我們急需要新的方案來改善我們的現狀,Zadig 成了我們的 首選方案

 

選型

 
構建部署 流程圖
 
痛點
  • 多組協作共同維護一套程式碼,交付映象難以把控
  • 每個組需要一套全量環境以供研發測試,缺乏統一管理平臺
  • 編譯時拉取全量程式碼,打包構建極其耗時
期望
  • 研發需要時快速拉起一套環境
  • 資源緊張時可以釋放環境
  • 降低打包時長,提高程式碼交付效率
  • 許可權控制,專案獨立
類比
  • Choerodon
  • Argo/Tekton
  • Zadig
 
在調研選型對比的過程中,我們發現 Zadig 最符合我們當前現狀的,也是現階段我們最合適的選擇。使用 Zadig 的 Helm 部署模式可以 有效的解決多個服務之間共用一個映象的部署問題。在環境管理方面, 研發可以自己去維護環境,修改配置,大大降低了運維的維護成本,讓 運維有更多的時間做更有益的事
更多選擇 Zadig 的理由:
  • 支援 Serverless 資源:將構建過程放在   Serverless  上,極大提高了構建效率,同時節約了不少成本
  • 支援資料概覽、效能洞察: 聰明的團隊會觀測,該部分是運維團隊構建可觀測性的重要一環
  • 交付中心:個人理解為服務快照,可以幫助研發團隊 快速切換版本,確實好用

 

落地

在測試 Zadig 的過程中,不斷地嘗試使用 Zadig 的功能各個功能,並希望可以將其使用到極致。在Zadig 初期的版本並非完全適用易快報當前的使用場景,也存在一些無法逾越的障礙。然而 Zadig 擁有一個包容的團隊,在不斷地溝通的過程中,我們也瞭解了某些功能的設計理念,同時也不斷提出自己的痛點和訴求。在 Zadig 團隊的協助下,我們的困擾在後面的幾個迭代中得到了解決,這極大地鼓勵我們落地 Zadig 的信心,最終在 Q1 推廣至產研團隊,並得到一致好評。
目前我們有兩種主要使用場景,簡舉一種:
 
部署 流程圖
 
構建 流程圖
 
短短几個月,易快報產研團隊已經使用 Zadig 完成近萬次構建部署。

 

目標

目前我們對 Zadig 的使用還在早期階段,還需要設定更高的目標。比如測試人員的介入,如何對接Sonar 掃描,如何制定個性化的工作流,協作模式的使用等,相信這些不止是我們一個團隊所面臨的問題,未來我們期望可以將 Zadig 和現有的各個系統打通,使其作為 DevOps 的重要一環,為團隊提供充足的保障。
 
同時再為 Zadig 獻上一些槽點:
  • 接入過程中發現 Zadig 工作流能力還是比較弱的,構建的映象版本沒有辦法個性化
  • Helm 中把多個服務做成一個 Helm 包,如果存在多個服務公用一個映象的時候,無法獨立更新單個服務版本。
  • 構建的日誌不支援搜尋功能等一些優化的小問題
  • 版本升級麻煩,我們叢集較多,每次部署的時候 Agent 都要挨個去升級,不夠方便

 

結語

正如 Zadig 所願, "工程師 + Zadig = 商業上的成功",作為 Zadig 的使用者,從初識到落地,有 Zadig 的付出也有自己的心血。可以看到 Zadig 在不斷地走向成熟,我也在不斷的進步。後續易快報會不斷的嘗試 Zadig,並給出一些落地的意見和理解,後續也會考慮為開源社群貢獻程式碼。最後祝我們和Zadig 都有一個美好的未來 ~
 
Zadig,讓工程師更專注創造!歡迎加入    開源吐槽群🔥