![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuEzNxkDO5UjM40yMxATNxITMxETMxEDMyIDMy0CO1ATM5kTMvwVMwIjMwIzLchTNwETO5EzLcd2bsJ2Lc12bj5ycn9Gbi52YuAjMwIzZtl2Lc9CX6MHc0RHaiojIsJye.png)
通過統一研發流程、統一穩定性保障體系、統一雲原生化,來解決複雜業務場景帶來的語言異構、中間件更新、研發流程體系與穩定性保障體系不統一等技術挑戰。
圖:大搜車基礎設施部負責人李同剛
2021年12月10日,在雲上架構與運維峰會上,大搜車集團基礎設施部負責人李同剛分享了大搜車在研發運維體系治理的一些實踐。以下是他的演講實錄:
一、業務介紹
1、汽車流通
大搜車業務覆寫了汽車的整個流通領域,并形成閉環。
新車部分:主要有布雷克索,為4s店提供一站式的資訊綜合服務;賣車管家是面向二網車商的管理營銷工具;還有主機廠商的軟體定制。
二手車部分:主要有大風車,為二手車商做上市管理;車易拍是面向二手車商的B2B交易平台。
物流層面:主要産品是運車管家,為車輛托運業務提供倉儲和物流資訊。
金融部分:主要負責幫助金融的機構更好地滿足客戶的消費需求。
2、異構業務
異構業務主要有SaaS、軟體定制和直播。
SaaS負責雲上的部署,為客戶提供業務層面上專業的技術支援,并且基于開源做一些改造。軟體定制類似于傳統的項目制方式,因為裡面存在甲乙方的關系,甲方會要求軟體底層的架構盡量開源,不能有個性化的改動。
二、技術挑戰
1、中間件更新挑戰
首先要面臨的挑戰是中間件的更新比較困難。目前大搜車有三個版本的中間件,分布在2000多個應用上,産品和業務都比較多,并且因為業務一直在發展,這些都導緻了中間件更新的困難。
2、收購的技術挑戰
收購了其他公司以後也會産生很多的技術挑戰:
▪ 語言異構:Java、Dolang和NODEJS服務之間的調用會影響開發效率。
▪ 研發流程體系不統一:包括工具也不統一,同樣會影響整個團隊的合作效率。
▪ 線上的環境複雜:傳統的虛拟機和k8s同在的,導緻操作情況比較複雜。
▪ 穩定性保障體系不統一:規範、告警體系和監控工具不統一。
三、業務要求
快速、穩定、高效地去滿足業務上的需求,是各個業務線的訴求。因為商業是在不斷往前走的,大搜車針對業務上的需求和挑戰,做了一些解決方案。
四、解決方案
解決方案要實作的目标包含以下三部分:
▪ 統一研發流程:嚴格按照需求-開發-測試-上線的流程來執行。
▪ 統一穩定性保障體系:主要包括整個監控體系、SLA的标準和其他的工具。
▪ 統一雲原生化:将整個基礎架構和環境能往統一的方向進步,進而提高效率。
1、統一研發流程
如上圖,研發流程的最底層是阿裡雲IaaS層,它包括了ECS ASK和網絡、存儲功能。搜車研發規範包含了GitFlow規範以及其他部署規範,品質服務層裡面有一些API自動化測試工具和精準測試工具等。研發協作平台貫穿了從需求到釋出的整個流程,負責落實全部的品質規範。
有了底層研發協作平台資料的積累,才可以做最上面這一層的資料化營運平台。這一層主要是針對研發協作平台做一些原子性的名額體系的規劃,還有研發協作體系的業務名額,比如說測開比、線上的穩定名額等等。
2、統一穩定性保障體系
如上圖,穩定性保障體系的最底層是一些規範,比如sla的規範、架構的高可用的規範,包括複盤規範。監控資料源包括RDS、Redis、Pod、JVM等等,他們都會在這一層得到統一。SLS存儲層可以用機器學習算法去做告警的自适應,SLS告警層主要處理監控、降噪和通知管理。最上層的故障處理系統,主要負責故障的閉環,從告警-故障-複盤-更新分析-改進追蹤的整個流程。
要把自己的資料源和定義盡可能地用到雲上的服務裡去,這樣才能提升整個保障體系的投入産出比。
3、統一雲原生化
因為底層有比較多的業務雲,是以需要完成雲原生的統一,來解決收購以後的多語言問題。分為以下三個步驟:
▪ K8s遷移:K8s是一個标準的服務,把應用遷到K8s裡是統一基礎設施層。
▪ Dubbo更新:讓業務線dubbo版本統一,并且為更新到 Service Mesh 做鋪墊
▪ 探索ASM方案。
五、經驗總結
1、做正确的事
要用客觀且産品化的思維去考慮,什麼是正确的事,而不是靠主觀意願來判斷。要更多地走進業務,去調研客戶的需求,從客戶的角度去考慮。
2、正确地做事
首先把握方向,其次避免過多地去關注過程,而是要從結果去反推,我們應該做什麼樣的決策。
點選大會官網,檢視李同剛的精彩演講視訊。