近日,2018第二屆雲原生技術大會(CNTC)在杭州召開,網易雲副總經理陳諤在會上介紹了微服務架構在企業數字化轉型中發揮的作用,並基於網易微服務實踐經驗分享了實施微服務的挑戰與對策。

陳諤表示,業務架構服務化是企業擁抱變化、實現數據資產化的必由之路,而實現業務架構服務化的技術基礎是微服務架構,需要解決服務拆分、資源調度、工程化、系統魯棒性、故障診斷、運維複雜性等挑戰。目前,網易雲已經基於開源技術棧很好地解決了這些問題。

業務架構服務化是數字化創新的必由之路

儘管互聯網+、數字化轉型已經上升爲我國的國家戰略,傳統行業的企業紛紛嘗試以數字化技術驅動企業數字化創新,實現數字化轉型,然而我國的企業數字化轉型升級還處在較爲初級的階段。根據權威市場研究報告顯示,數字經濟是世界經濟創新發展的主流模式,發達國家數字經濟佔GDP比重已超過50%,我國數字經濟目前佔GDP比重爲30%,還有巨大的發展空間,這也是企業進行數字化轉型的動力之一。

IDC認爲,數字經濟的發展需要通過數字化知識和技術進行社會生產力的重塑。陳諤表示,IT架構雲化是基礎,數據也要資產化,成爲關鍵生產要素,成爲決策的依據。他分析了國內企業的數字化技術應用狀況:IT架構雲化和數字資產化近年來已經得到國內企業的重視,但業務架構的革新則往往被企業忽視。

以網易的探索經驗看來,擁抱變化是實現數字化創新的核心,服務化具有可迭代適應需求的變化、可重用、可組合等特徵,業務架構服務化讓企業能夠更好地擁抱變化,因而是數字化創新的必由之路。

實施微服務的挑戰與對策

實現業務架構服務化的技術基礎是微服務架構,微服務架構具有細粒度、去中心化的特點,因而可以解決更新迭代的影響範圍、代碼腐化、服務局部彈性、溝通協作瓶頸等問題。這也是互聯網企業普遍選擇微服務架構的重要原因。

然而,要獲得微服務的好處並不是一件輕鬆的事情。陳諤介紹,網易在實施微服務過程中遇到的主要挑戰,包括服務拆分、資源調度、工程化、系統魯棒性、故障診斷、運維複雜性等六個方面。

服務拆分。網易在2010年開始有微服務架構的探索,在服務拆分時遇到了各種問題,如服務間的高頻依賴、數據訪問模型的匹配、是否會引入大量分佈式事務,這些都需要考慮,一次性的統一規劃很可能留下隱患。對此,陳諤表示,一次性的拆分不如逐步拆分迭代,可從工程級別的拆分逐步過渡到服務拆分。

資源調度。由於網易業務類型衆多,用戶數量龐大,團隊在實施微服務架構過程中遇到了QoS難以保障、服務器機型碎片化、資源需求無法及時得到響應等諸多難題,這些問題直到2012年網易雲團隊研發的私有云上線之後才徹底解決。因此,陳諤認爲,實施微服務必須以IT資源的雲化爲基礎。

工程化。實施微服務架構必然導致研發、測試環境的激增,從代碼的版本控制到打包部署必須有完善的工程化支持。而IT資源的雲化之後,服務粒度更細、規模更大成爲了現實,此時甚至還需要做測試環境的重用。所以,陳諤認爲,必須建立完善的CI/CD(持續集成/持續交付)支持,對應不同環境實現統一的配置中心。

系統魯棒性。細粒度的服務難以進行靜態的容量規劃,複雜的依賴和較長的調用路徑造成局部服務的故障或性能瓶頸可能引起系統雪崩。陳諤給出了對策:引入服務治理平臺,解決服務的發現、熔斷、降級等問題;引入彈性伸縮能力,能夠按需伸縮,避免出現局部處理能力的瓶頸。

故障診斷。跨服務器複雜的調用鏈路,造成微服務架構的軟件系統難以進行問題排查。陳諤的答案,是引入全鏈路跟蹤平臺,不僅支持服務的性能分析,同時支持調用鏈路的跟蹤,結合日誌服務能直接根據調用請求ID進行處理鏈路的問題排查。

運維複雜性。微服務架構的引入,不僅軟件系統的架構發生變化,組織架構也往往隨之變化,去中心化、小團隊、高速迭代的特徵加上微服務架構的高度複雜性使得難以設置一箇中心化的運維團隊負責所有運維工作。陳諤指出,要建立高度自動化的運維工具鏈,實施DevOps的工作模式,讓開發人員面向承載服務的抽象資源,而不是服務器。

開源技術棧的優勢

以上的解決方案,都已經有成熟的開源實現。陳諤認爲,採用開源方案、擁抱社區標準能夠讓技術方案更具有生命力,因爲開源意味着多數人的共同選擇,開源持續演進,意味着沒有廠商鎖定,意味着良好的人才支持,也意味着更低的研發成本、更快的上線速度。

陳諤舉例說,網易曾實踐採用Agent+模版的方式初始化環境,配合CD系統部署軟件,但由於基準鏡像逐漸分化,產生了上千個初始化模版,大部分模版無法重用。直到Docker容器與Kubernetes編排系統先後出現,網易才找到了解決之道。所以,陳諤也認爲,容器與編排系統是微服務的最佳載體。

事實上,除了開源容器技術,網易雲微服務技術棧還支持Spring Cloud、Dubbo、OpenTracing、Prometheus等開源技術,並解決了微服務應用生命週期功能完整性、業務侵入性等核心問題,提供微服務框架、API網關、容器服務、DevOps、AIOps和全自動化測試等全棧能力。網易雲將這套整合優化之後的微服務技術棧稱爲“輕舟微服務”,用以廣泛支撐網易內部業務,包括網易考拉、網易雲音樂等熱門產品。

據瞭解,網易雲輕舟微服務已經在今年7月31日正式發佈,目前已經應用於德邦快遞、大華等企業的生產環境中,幫助這些企業實現數字化轉型升級。

邁集科技

專業APP軟件系統定製開發

中國科技行業的先行者

支持企業全方位彙集盈利機遇

查看原文 >>
相關文章