微服務架構(MicroServicesArchitecture,MSA)提倡將龐大規模應用分割成一系列細粒度的服務,每個服務專注于單一業務功能,可獨立運行,服務之間采用輕量級通信機制相互溝通、配合來實現完整的應用。相比于前序一體化架構和SOA架構,MSA在部署效率、伸縮彈性和容錯性等方面具備優勢,滿足當前互聯網與云計算趨勢下企業IT系統對敏捷性的不懈追求。
微服務架構與云計算相輔相成。一方面,微服務架構的推廣很大程度上得益于云計算滲透率的提升,另一方面,微服務架構能夠顯著提升企業云端遷移效率,從而推動大型企業IT系統上云進程。
平臺隨著業務的發展從AllinOne環境就可以滿足業務需求,展到需要拆分多個應用,加快開發效率;再發展到服務越來越多,不得不將一些核心或共用的服務拆分出來,并由企業服務總線等抽象層統籌管理;再到近來興起的微服務架構,總體來看,伴隨軟件代碼庫的擴張,IT整體架構基本遵循耦合由緊變松,粒度由粗變細的規律。
企業IT應用架構演變規律

數據來源:公開資料整理
一、單體架構
單體架構(又稱巨石架構)是IT服務架構初始狀態。
一體化架構邏輯示意圖

數據來源:公開資料整理
但隨著應用程序逐漸增長,業務復雜度會變的越來越高。這種情況下三層構架擁有難以維護、難以擴展兩大痛點,從而最終影響應用系統的使用,并不適合業務的繼續發展。應用代碼緊密耦合,拖累維護效率。
一體化架構下,隨著項目規模變大,程序更新開發效率急劇下降

數據來源:公開資料整理
應用代碼高度集成,無法彈性擴展。對服務的容量進行擴展的時候,只能選擇重復地部署整體程序來擴展服務能力,而不是僅僅擴展出現系統瓶頸的組份,造成硬件資源的極大浪費。
將應用程序中緊密關聯的各項子功能解耦,以實現各功能模塊獨立部署,已成為滿足應用程序快速更新、彈性擴展需求的最佳解決途徑。
一體化架構下,服務容量遭遇瓶頸時,只能選擇重復部署整體擴容

數據來源:公開資料整理
二、面向服務的架構
SOA體現了明顯的解耦思想,是一種粗粒度、相對松耦合的服務架構。SOA架構下,服務間通信依賴中心化調度平臺。
雖然在SOA架構下,整個系統的可維護性、可擴展性相對于單體型架構得到提高,但其仍存在一定局限,SOA架構中,各項服務間通信、調用完全依賴ESB,SOA架構注重水平服務,各項服務之間的隔離性仍有局限。
三、微服務架構
微服務架構(MicroServiceArchitecture)將一個大型復雜軟件應用拆分成為多個微服務組件,各個松散耦合的微服務間可被獨立部署。每個微服務僅關注于完成一件任務并很好地完成該任務,每個任務代表著一個細分的業務能力。
各微服務之間通過簡單的通信進行連接,而非中心化調度平臺

數據來源:公開資料整理
微服務與單體架構的差別主要體現為“細粒度拆分”。微服務將原有大型程序按照功能模塊進行拆分,實現單體應用程序中緊密關聯的各項子功能之間的解耦,各功能模塊獨立部署,使得微服務架構具備一定優勢:雖然項在項目模較小時期,一體化架構開發時間相對較短,項目推出較快,但隨著后續項目規模逐步擴大,微服務架構在應用推出、運維更新方面均具備顯著敏捷性優勢;此外,由于微服務之間采取松耦合模式,各模塊之間相對獨立、互不干擾,因此微服務架構同時具備容錯性提升、可彈性擴展的優勢。
1、微服務用途
伴隨敏捷性、擴展性和可用性方面的諸多優勢,微服務架構同樣具備明顯的局限:貫穿微服務架構搭建全過程的復雜性。企業基于微服務架構搭建IT系統,可以主要分為系統設計和微服務平臺搭建兩個部分,其中微服務平臺搭建工作相對標準化,而系統設計部分則需要根據企業自身業務流程進行個性化實施。
具體來看,微服務架構的復雜性主要體現在:(1)設計復雜性,在微服務架構搭建之前,首先需要根據企業自身業務框架進行梳理,切分現有的單體架構,領域設計和系統設計工作重要而繁瑣;(2)架構復雜性,運用微服務架構不再只是運行一個服務,而是數十甚至數百個服務,因此,微服務架構不僅僅是開發框架本身,還包括一套完整的體系架構以實現成千上萬個微服務之間的交互管理。
微服務架構適用于規模相對較大的公司。微服務架構的實現需要包括周邊配套工具鏈在內的一整套微服務體系,因此在企業規模較小時,單體架構在開發效率上具備一定優勢,只有規模相對較大的企業才需要進行微服務系統的建設;試圖實施微服務架構需要極高的工程實踐能力,只有具備一定規模優勢的企業,才能夠進行微服務的建設,或是有能力自己組建IT團隊,或是有資金對外采購IT服務。
微服務架構適用于云計算模式下碎片化SaaS服務的管理。云計算模式下,SaaS服務具備高度場景化、高度行業化、高度關注用戶體驗和注重短流程的特點,這也就使得企業將面臨IT服務域被縱橫分割成多個“小而美”的碎片化SaaS服務的場景。微服務架構將成為管理批量SaaS服務的極佳工具:每一個碎片化的SaaS服務均可視作獨立運行的微服務,通過微服務容器云平臺實現統一管理和編排。
微服務架構適用于混合云/多云IT架構應用管理,是由混合云和微服務架構本身的性質所決定的:由于混合云實現了跨基礎設施的部署,其各項服務響應服務的能力必須符合松耦合規則,而其管理基礎技術同為API控制、負載均衡等,與微服務治理過程類似,因此通過微服務架構實現對部署于混合IT之上的各項應用進行有效的管理和敏捷的開發運維,成為各大企業的主要選擇之一。
管理混合IT架構最重要的工具

數據來源:公開資料整理
服務適用于大型企業IT架構云端遷移。云計算目前正處于高速發展期,無論是出于企業自身效益,還是出于政策推動,“大智移云”趨勢已成定局。但是由于大中型企業上云過程中,基礎設施架構改變跨度較大,IT系統在實現由金屬機向虛擬機遷移時,往往會面臨單體應用過于龐大,難以快速高效的實現應用與基礎設施的解耦的情況,遷移效率和后續可用性成為大型企業云端遷移的主要憂慮之一。
采用微服務架構將極大提升大型企業IT系統云端遷移的效率,應用程序的操作復雜性隨規模呈指數型增長,因此經過拆分后的若干個細粒度的單個微服務,對其進行云端部署,其效率將高于將單體架構直接遷移;單體架構云端遷移的過程是持續的,可通過“修繕者模式”或“絞殺者模式”將原有應用系統分步解耦并獨立上云,再經由微服務平臺進行云端整合,從而實現從傳統服務器向云端的平穩過渡。正因如此,微服務架構和云計算之間呈相輔相成之勢。
2、微服務市場進展
IT行業任何技術革新,均遵循從互聯網企業自研自用,到IT服務商大力推廣,業再到企業IT逐步采用的能力輸送路徑,云計算、大數據、人工智能、融合架構皆是如此,微服務架構亦不例外。
大型互聯網公司由于對IT依賴性極高,且體量規模巨大,有需求也有能力在IT方面不斷投入研發,因此往往走在技術最前沿;隨后,IT服務商由于具備技術方面的敏感性,同時出于技術儲備的考量,往往會選擇跟隨布局;而企業級用戶由于對IT前沿技術缺少敏感性,同時原有IT架構存在“船大掉頭難”的情況,往往對IT變革采取保守的態度。
目前在互聯網公司中已經有相對成熟的大規模應用,要主要IT服務商開始早期布局,紛紛推出相關微服務產品,而在企業用戶端,先行行業及公司中已有部分非核心業務初步落地。
隨著微服務架構的價值逐漸被市場認同,當前時點國內各類IT廠商紛紛開始相關布局,企業級IT服務廠商切入微服務市場的途徑主要包括以下三種:(1)提供通用型、工具型容器平臺;(2)提供可搭載于容器平臺商的微服務應用組件;(3)提供從原有IT架構拆分到容器平臺構建再到微服務流程編排全棧技術咨詢與實施服務。
當前時點,除SaaS層的普及帶來批量服務管理需求之外,互聯網重塑企業業務模式,造成IT架構更新換代效率的提升,亦成為未來微服務架構持續落地的主要驅動素。
企業IT系統更新頻率

數據來源:公開資料整理
各細分行業IT系統更新頻率

數據來源:公開資料整理
基于細分行業角度,制造業和金融業有望率先發力。需求其次明顯的為金融行業,包括銀行、保險、證券等。尤其是一些國有銀行、股份制銀行以及城商行等大行都走在架構改造的前列。在自己的創新業務,如手機銀行、微信銀行、互聯網理財等業務上試水微服務架構。IT架構更新頻率的提升將持續驅動微服務架構落地。
各行業微服務落地情況

數據來源:公開資料整理
相關報告:智研咨詢發布的《2019-2025年中國IT服務行業市場發展模式調研及投資趨勢分析研究報告》
公眾號
小程序
微信咨詢















