品牌名稱
易快報
所在行業
財會
企業規模
501-1000人

用 Zadig 實現萬次構建部署,聰明運維,釋放開發生產力

586次閱讀
 
易快報是一家從事費控報銷 toB 的 SaaS 企業,致力于企業財務數字化領域云產品及服務的創新,運用前沿的數字技術和先進的創想理念,構建財務數智化中臺賦能未來財務人成長。通過敏捷連接的模式創新和自主研發的“無需報銷”解決方案為企業提供聚合消費、報銷費控、企業支付、發票及電子檔案管理等一站式服務,為企業業財融合提供數據決策分析與支持,助力企業實現降本增效與合規經營,易快報從早期版本就開始關注 Zadig。
 
背景
隨著研發團隊不斷擴張,產研團隊已達到 200 多人,GitLab CI/CD 已經無法滿足研發們日益增加的需求,環境管理,權限劃分,構建優化等大大的增加了運維的成本,因此我們急需要新的方案來改善我們的現狀,Zadig 成了我們的首選方案

選型

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

落地

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

目標

目前我們對 Zadig 的使用還在早期階段,還需要設定更高的目標。比如測試人員的介入,如何對接Sonar 掃描,如何制定個性化的工作流,協作模式的使用等,相信這些不止是我們一個團隊所面臨的問題,未來我們期望可以將 Zadig 和現有的各個系統打通,使其作為 DevOps 的重要一環,為團隊提供充足的保障。

同時再為 Zadig 獻上一些槽點:

  • 接入過程中發現 Zadig 工作流能力還是比較弱的,構建的鏡像版本沒有辦法個性化
  • Helm 中把多個服務做成一個 Helm 包,如果存在多個服務公用一個鏡像的時候,無法獨立更新單個服務版本。
  • 構建的日志不支持搜索功能等一些優化的小問題
  • 版本升級麻煩,我們集群較多,每次部署的時候 Agent 都要挨個去升級,不夠方便
正如 Zadig 所愿, "工程師 + Zadig = 商業上的成功",作為 Zadig 的使用者,從初識到落地,有 Zadig 的付出也有自己的心血。可以看到 Zadig 在不斷地走向成熟,我也在不斷的進步。后續易快報會不斷的嘗試 Zadig,并給出一些落地的意見和理解,后續也會考慮為開源社區貢獻代碼。最后祝我們和Zadig 都有一個美好的未來 ~