作者 | 禾易
來源 | 凌雲時刻(微信號:linuxpk)
互聯網發展到今天已經成了一種基礎資源,越來越多的企業將業務搬到線上,線上的競爭也越來越激烈。互聯網企業為了生存,就要快速迭代,以便滿足用戶的不同需求。
“服務化”是實現“快”的一個非常重要的手段。把大量通用功能下沉為服務,並對服務不斷進行拆分,再根據不同的業務形態,快速組裝出前端應用,通過服務組裝和聚合的方式實現更快的開發速度,前端也能變得更輕。把服務拆得越細,服務的粒度越小,可組裝性就越好。只有這樣,我們才能在業務有需求的時候,利用大量的“小服務”快速構建出一個前端業務應用,支持業務的快速試錯。
微服務應運而生。隨著微服務架構開始變得火熱以後,越來越多的系統被拆解成了多個微服務,那麼下一個難題就是,如何管理這些微服務。設想一下,如果你的系統由100個微服務構成,要對這100個微服務進行管理,這絕對是一個不小的挑戰。有沒有更簡單高效的方式可以幫助企業做微服務治理?
用友旗下成員企業暢捷通是中國領先的小型微型企業管理雲服務與軟件提供商,為400多萬小微企業提供智能雲管理服務。在互聯網時代,暢捷通率先提出了以暢捷通T+為核心的“雲+端”戰略,通過在傳統管理軟件上增加雲的協同辦公服務、財稅知識服務、網絡營銷服務、網店管理以及移動應用等多項雲業務,實現對小微企業全面的雲服務支持。截至2020年,已經有超過7萬家企業付費使用暢捷通提供的企業管理雲服務。
隨著業務的快速發展,暢捷通原有的IT系統很難滿足應用快速迭代和頻繁發佈的需求,於是,暢捷通技術團隊對原有的IT系統進行了大量的微服務化改造。但是,暢捷通的SaaS化企業管理雲服務具備用戶量大、業務複雜、調用鏈路長、與第三方應用系統深度集成等特點,給微服務化改造工作帶來了非常大的挑戰。特別是在新版本的發佈過程中,如果不能保證整個流程平滑、可控,就很容易因為單個應用的更新而造成整個系統的崩潰。如何提升整體的微服務治理能力與監控能力,在頻繁的版本迭代中確保系統的穩定健壯,是暢捷通IT團隊需要解決的重要課題。
經過與阿里雲技術專家多輪深入的技術交流後,暢捷通技術團隊決定將整個微服務架構逐步部署到阿里雲提供的企業級分佈式應用服務(EDAS)上。對於通過Spring Cloud技術體系建立的微服務應用,可以在不涉及到任何代碼改動情況下,直接部署在EDAS上,整個遷移的過程也非常平滑,對於暢捷通的用戶而言,是沒有任何感知的。
運行在EDAS上的Spring Cloud應用,可以享受到應用生命週期管理、無損下線、全鏈路灰度等一系列針對微服務治理領域的能力增強。特別在應用發佈的流程中,EDAS所提供的平滑上下線以及灰度機制極大地提升了系統在版本更新期間的穩定性,降低了應用發佈所帶來的風險。
接入阿里雲應用監控服務ARMS,讓暢捷通的微服務體系更進一步的提供了監控能力。在此之前,由於暢捷通的SaaS產品所涉及到的業務鏈路極為複雜,當用戶反饋系統出現bug或者性能存在問題之後,技術團隊需要耗費非常長的時間在錯綜複雜的鏈路之間定位故障源以及性能瓶頸。在接入ARMS之後,通過全鏈路信息排查以及應用實時診斷等工具,將定位系統故障源以及性能瓶頸的工作量降低到了之前的50%以下,極大地提升了IT團隊的工作效率。
隨著暢捷通各條業務線的不斷迭代,在整體微服務架構中也逐步引入了消息服務MNS、AHAS、PTS等一系列雲原生產品,進一步解放了IT團隊的生產力,讓暢捷通將更多的精力投入到滿足用戶的業務需求中來。
通過引入成熟、穩定的阿里雲原生產品方案,暢捷通的系統架構在面對複雜業務下的頻繁迭代時,表現得穩定、健壯、彈性。暢捷通的IT團隊也通過方案背後所融入的方法論,掌握了一套適合自己的微服務治理機制,並開始實踐全鏈路灰度等全新的微服務治理思路,不僅可以降本增效,同時,暢捷通企業管理雲服務領域領先的研發管理能力也得以充分展現。
正如暢捷通CTO所言,全面擁抱阿里云云原生產品和方案,對於提升暢捷通的研發效率,有著非常重要的幫助。