歡迎光臨
每天分享高質量文章

微服務2017年度報告出爐:4大客戶畫像,15%傳統企業已領跑

導讀:如果在諸多熱門雲端計算技術中,諸如容器、微服務、DevOps、OpenStack 等,找出一個最火的方向,那麼非微服務莫屬。儘管話題炙手可熱,但對傳統行業來說,微服務落地和方法論目前處於起步階段。


本文由數人雲供稿,報告於2017年11月份展開,從驅動因素、落地現狀、和容器關係、架構體系、未來趨勢和落地方法論等方面對微服務進行了分析。希望能夠為傳統企業微服務決策、規劃和實施提供依據和解決辦法。

一、驅動因素


傳統行業對IT效率的變革需求是微服務成長土壤,業務樣式創新重塑導致系統更新頻繁、應用複雜度急劇升高,傳統架構不堪重負。

微服務架構具有明顯的好處,尤其是在應對複雜業務系統的多變需求方面。在本次調研企業中,每個月都要進行業務系統更新的比例佔63%,只有不到20%的企業半年以上更新一次系統。

加快網際網路+步伐成為許多傳統企業的必然選擇。業務場景、使用者習慣和行為在迅速變化,許多傳統行業線上業務出現急速增長。

比如金融行業的移動支付、網際網路理財等,汽車製造行業的營銷、電商、售後服務等線上業務比例迅速提高。IT團隊業務開發、迭代都以每月、甚至每週來計,需要7*24小時響應,這些給系統開發和運維帶來極大挑戰。

在IT對業務的響應和支撐方面,不同行業所面臨的困擾略有不同,但總體差異不明顯。調研顯示,系統支撐方面排在前四的難題分別為:系統複雜性越來越高(28%),運維管理複雜度高,打造一支全棧運維團隊困難(26%),線上訪問壓力大(19%),裝置採購維護成本高(19%)。

在傳統單體或SOA架構下,應用如果頻繁升級更新,開發團隊非常痛苦。企業的業務應用經過多年IT建設,系統非常龐大,要改動其中任何一小部分,都需要重新部署整個應用,敏捷開發和快速交付無從談起。

傳統企業在長期的IT建設過程中,通常大量使用外包團隊,這導致採用的技術棧之間差異較大,統一管控和運維要求更高。需要運維7*24小時全天候值守、線上升級,並快速響應。

在此時脫穎而出的微服務技術,面對上述困惑幾乎渾身優點:獨立開發、獨立部署、獨立釋出,去中心化管理,支援高併發高可用,支援豐富技術棧,企業可以根據需要靈活技術選型。

二、微服務落地現狀


1、微服務客戶畫像

微服務架構在企業的使用情況可以分為四個層次:初級使用者、輕度使用者、中度使用者、以及重度使用者。初級使用者基本是傳統架構,獨立部署需求不突出,技術堆疊不成熟,需要較長的培育和成長期。輕度使用的企業邊緣業務系統開始使用Spring Boot 或Spring Cloud等框架,但元件的使用尚不熟練。

中度使用者為使用Dubbo或Spring cloud時間較長,但還沒有做周邊配套的工具鏈。重度使用者是那些走在微服務架構改造前沿,具備微服務規劃和體系,有自己研發實力的企業,通常是以技術見長的大型網際網路公司。

2、15% 左右的調研企業引入了SpringCloud、Dubbo等微服務主流開發框架

此次調研中,6%的企業已經部分引入了Spring Cloud 開發框架,Spring Cloud 也被開發者認為是最好的開發框架。另外,9%的受訪企業採用了 Dubbo 等其他微服務框架,也就是說引入了或考慮引入微服務架構的企業達15%。

此外,還有51%以上的企業在考慮往雲原生方向轉型。這是由於企業數字化轉型背景下,IT要更好適應線上業務趨勢的必然要求。加上國家政策層面對雲服務的支援,傳統企業雲化是大勢所趨。

3、微服務四大技術優勢受青睞

從IT技術發展趨勢看,無論硬體、軟體、還是基礎架構都在朝著輕量化的方向發展。微服務透過化整為零的概念,將複雜的IT部署分解成更小、更獨立的微服務。

相對傳統的建設方法,傳統企業更看重微服務如下四方面的優勢:技術選型靈活,更輕鬆採用新架構和語言(28%)降低系統內部服務冗餘,提升開發效率(27%)獨立部署(22%)更好的容錯機制(20%)

在涉及複雜專案時,和單體架構的對比中,微服務從多個角度顯示出了壓倒性的優勢。

4、製造業開始發力、金融小試牛刀

這裡所說製造業,是大製造的概念,包括製造、汽車、大型製造以及航空業等。從調研資料來看,這些行業引入Spring Cloud、Dubbo等微服務開發框架的佔比略高於其他行業,超過15%。製造業開始初步嘗試微服務架構。

能看出製造業向“智造”轉型的影響,今天的製造業結合了物聯網、感測器、雲端計算、大資料等技術,人工智慧技術正在工業、汽車駕駛等領域應用。大量新興業務場景出現,服務變得複雜,產業的彎道超車帶來了明顯的微服務需求。

其次,需求明顯的為金融行業,包括銀行、保險、證券等。尤其是一些國有銀行、股份制銀行以及城商行等大行都走在架構改造的前列。在自己的創新業務,如手機銀行、微信銀行、網際網路理財等業務上試水微服務架構。在核心業務系統方面,則相當謹慎。一方面是由於監管和政策的原因,另一方面,銀行開發體系龐大,IT架構變革將是一件非常複雜的事情。

5、微服務推進障礙

微服務不是完美架構,會帶來系統的各種複雜度,以及運維要求更高等諸多難點微服務並不是一項橫空出世的技術,事實上MicroService的概念已經誕生多年。除了元件和技術不成熟,企業業務樣式不急迫的因素外,微服務本身也有自己的劣勢。

本次調研,有近一半的企業會談到對微服務的顧慮。比如部署以後的複雜度,後期運維管理的不友好等等。對於團隊來說,搭建微服務架構上手難,運維效率低,運維成本高。另外,還可能帶來團隊之間溝通上的衝突,微服務需要與DevOps同步推進。微服務被分割成一個個獨立的業務模組後,服務間通訊介面設計非常重要。如何科學地將系統部署到伺服器上,保證各個服務高效執行,更是難點。

微服務推進過程中有許多障礙。對微服務自身複雜度的擔憂、缺少具備相關經驗的專家、難以招募專業人才和使用相關工具是三個最普遍的障礙。其中對微服務複雜度的顧慮,排名前三的是運維要求和成本高,分散式架構的網路延遲、容錯等挑戰,以及較強的部署依賴性。

三、Docker與微服務


在接受調研的企業中,2017年在生產環境中採用Docker的比例為9%,測試環境使用達22%。而且規模越大的企業,尤其是伺服器規模在500臺以上的,是Docker容器的主要採用者。另外,正在考慮評估中的佔到被調研企業的一半以上。企業的關註度急劇升高,Docker使用正在快速普及。

容器和微服務相輔相成,兩大技術成熟的時間點非常契合。容器技術的成熟為微服務提供了得天獨厚的客觀條件。輕量化的容器是微服務的最佳執行環境,微服務應用只有在容器環境下才能保障運維效率的提升。同時,微服務應用架構對外在元件的管理會變得困難,需要用容器平臺去管理中介軟體,才能發揮出更大價值。

四、微服務化是一個體系,從架構、工具到團隊協同


1、  企業微服務架構改造需要包括周邊配套工具鏈在內的一整套微服務體系

採用微服務架構改造應用系統,不僅僅是選擇開發框架本身,還要建設一套完整的體系架構。既要實現應用模組之間的解耦,還要實現統一管理。

微服務化體系,包括開發框架、以及周邊配套工具鏈和元件,比如服務註冊、服務發現、API閘道器、負載均衡、服務治理、配置中心、安全管理、與容器的結合、監控管理等等。一整套的體系建設是微服務真正的難點所在。

落地過程中,受訪企業關註的功能包括,API閘道器(33%)、服務治理(27%)、配置中心(21%)、分散式任務排程(17%)、應用監控與報警(11%)、高併發(7%)等。這些元件可以根據自身的業務特性選擇使用。

2、微服務落地方法論:諮詢+產品工具+實施

在IT建設中,企業都希望將開發人員的精力放在自身業務系統的開發上,而工具的整合和使用則主要藉助外部供應商的力量來做。軟體外包商都有自己的發展歷程,迅速改變技術架構不太現實。

另外,傳統企業都有大量原有IT系統,掉頭和轉向不可能丟掉歷史包袱,全部推翻重新建設。因此,企業一方面有架構之痛,另一方面不得不總是在業務系統快速上線和新架構選擇之間平衡。

對於企業來說,最實際的微服務落地路徑是,首先納入微服務諮詢,引入外部行業技術專家角色,站在企業架構的總體高度,幫助企業進行微服務體系規劃,落地roadmap,然後藉助一些產品和工具進行落地實施。

在本次調研中,有的企業鑒於微服務的優勢和業務快速變化的需要,會在新專案建設時直接選擇微服務架構進行開發,落地方法也不例外。

3、企業踐行微服務的三種型別

目前微服務落地的企業可以分為:溫柔型的變革者、業務倒逼型的強硬者、觀望型的探索者。

具體來說,溫柔的變革者從邊緣非核心業務探索嘗試新興技術。漸進式實施、創新靈活多變業務是這型別客戶微服務切入的關鍵詞。也是大部分傳統企業在切入微服務時,選擇的路徑。

本次參與調研的企業多是如此,在切入微服務時,選擇了諸如測試流程、API閘道器、開發平臺升級、測試環境快速部署等非核心業務進行技術驗證。

業務倒逼型是那些企業核心業務系統在日常支撐中承受著巨大壓力,必須進行架構改造,否則業務運轉舉步維艱。觀望型的探索者,是那些出於業務考量,要看到行業標桿案例,明確收益和價值,以及技術風險和可靠性充分把握的情況下,才會投入資源開始改造。

4.微服務落地需要從上到下推動和密切團隊協同

微服務應用的構建依賴組織結構的變化,它按照業務,而不是技術來劃分組織,在推進過程中會受到從上到下的壓力,因此必須有決策層的支援和推動。同時,需要團隊更好的協同,小團隊作戰,打破團隊間的高牆,減少溝通成本。上了微服務的受訪企業對搭建一支敏捷團隊都感受很迫切。

五、Service Mesh下一代微服務搶灘登陸

預計兩年內服務網格技術將呈現爆發之勢

本次的受訪者中,有42%表示聽說過 ServiceMesh 這一新興技術理念,但只有6%的受訪者對該技術有過一些研究。

微服務帶來的複雜度讓企業頭疼,尤其是服務間通訊,如何保證服務間通訊的端到端效能和可靠性,催生了下一代微服務Service mesh。2017年,ServiceMesh 經過技術擁躉、技術社群和媒體的反覆佈道,迅速被業界瞭解。

Service Mesh 是服務間通訊層,可以提供安全、快速、可靠的服務間通訊。在過去的一年中,Service Mesh 已經成為微服務技術棧裡的一個關鍵元件,被譽為“下一代微服務”。

Conduit、Istio 等Service Mesh技術在市場上已形成激烈的競爭,國內外企業開始紛紛站隊。國外,一些有高負載業務流量的公司都在他們的生產應用裡加入了Service Mesh。國內前沿技術公司開始圍繞SpringCloud等開發體系,為客戶提供成熟的解決方案和工具產品。同時,探索基於 ServiceMesh 的新方案,積極擁抱Istio/Conduit。

當然對於傳統企業來說,技術的先進性是為了保障業務需求的快速變化和發展,而不是一味追求新興。受訪企業表示,一方面會主動關註新技術的最新動向,另一方面在考慮落地時,也要關註新技術的可靠性和有例可循,有無業界最佳實踐背書。

六、結論

微服務的核心使命是簡化開發,提高IT系統對業務的支撐能力。透過本次調研,我們可以得出如下一些結論:

1.傳統行業新興業務對IT效率的變革需求,業務樣式創新重塑要求IT快速響應,是今天微服務炙手可熱的主要驅動因素。從目前微服務落地的狀態預估有兩年左右的培育和成長期。

評估一家企業是否需要上微服務,主要考察這五大關鍵要素:資料量和業務複雜度,團隊規模,應對業務流量變化,是否需要足夠的容錯容災,以及功能重覆度和差錯成本。

2.  實施微服務的理想技術條件包括:行程隔離、資料庫表隔離,以及透過公開介面訪問。

3.  微服務架構在企業的使用可以分為四個層次:初級使用者、輕度使用者、中度使用者,以及重度使用者。

以技術見長的大型網際網路公司首先引領了微服務的風潮,國內製造、金融等大型龍頭企業中也有佼佼者開始規劃微服務體系,且具備較強的研發實力。大部分企業還處在初步嘗試,不成體系,尋找技術和專家力量探討解決方案的階段。

4.  微服務和容器共生:容器和微服務相輔相成,天生一對。Docker的成熟,讓微服務推廣和落地更加可靠、方便。隨著Docker和微服務架構元件等相關技術的逐步成熟,微服務架構將逐步落地傳統企業。

5.  微服務落地方法論:微服務主要用來解決系統的複雜性問題,企業客戶對於如何實施微服務並不清晰,同時有諸多顧慮。受企業客戶青睞的落地方法是:微服務諮詢+產品工具+實施。

6.  微服務落地策略:微服務正成為許多企業構建應用時的首選。微服務並不缺乏受眾,有的企業將微服務用於新應用開發,有的關註將單體應用遷移到微服務架構。微服務改造循序漸進,快速演化只會適得其反。另外,落地過程中註意開發和運維部門的協同,進行組織內管理創新。

關於調研物件

本次調研數人雲總計收到了來自182家企業受訪者的調研問卷,並現場調研部分受訪企業。改寫製造/航空、金融、網際網路、地產、交通物流和零售等行業,受訪者包括CIO、CTO等IT高管,及開發、基礎架構部門IT人員。

  

參考資料:

1.The State of Microservices Survey 2017 – Eight Trends You Need to Know

https://dzone.com/articles/the-state-of-microservices-survey-2017-eight-trend

2、Microservices: Breaking Down the Monolith

https://dzone.com/guides/microservices-breaking-down-the-monolith

3.微服務企業級落地將會帶來哪些轉變?

http://mp.weixin.qq.com/s/3LkU4OwpgSPdFFY5__dheQ

4.深度剖析微服務架構的九大特徵

http://developer.51cto.com/art/201608/516401.htm

推薦閱讀


高可用架構

改變網際網路的構建方式

長按二維碼 關註「高可用架構」公眾號

贊(0)

分享創造快樂