所謂數(shù)字化轉型升級,就是以數(shù)字技術優(yōu)化傳統(tǒng)資源,企業(yè)需要謹慎地選擇合適的技術逐步完成自己的數(shù)字化戰(zhàn)略。以推出輕舟微服務平臺的網(wǎng)易云為代表,云計算公司正在微服務領域發(fā)力,促進企業(yè)數(shù)字化創(chuàng)新。那么,微服務對數(shù)字化轉型意味著什么?傳統(tǒng)企業(yè)數(shù)字化轉型為什么一定要引入微服務?
微服務是什么?
所謂微服務架構,根據(jù)微服務架構大神Martin Fowler的描述,就是以業(yè)務域或業(yè)務功能為邊界,將一個大而全的應用拆分為可以獨立開發(fā)、獨立部署、獨立測試、獨立運行的一組小的應用,并且使用輕量級,通用的機制在這組應用間進行通信。簡而言之,微服務就是把一個大型系統(tǒng)分割成多個小而自治的系統(tǒng),這體現(xiàn)了一種化整為零的思想(分治),實現(xiàn)業(yè)務、數(shù)據(jù)和物理資源的分散化管理。“服務”與傳統(tǒng)的“組件”很相似,都是構造軟件的“零部件”。以傳統(tǒng)軟件研發(fā)的視角來看,微服務的就是傳統(tǒng)組件技術在云端以插件化形式的自然映射。當然,微服務圍繞業(yè)務分工的粒度更細,整個分布式系統(tǒng)的協(xié)作也更為復雜。
與微服務架構相對應的是單體架構,單體架構的特點是組件高度耦合導致開發(fā)部署效率低、單體結構導致可用性差、單體部署導致彈性缺失,微服務架構則具備迭代更快(各模塊獨立開發(fā)、部署)、質量更好(去雪崩效應,秒級恢復)、應對爆發(fā)(架構到資源全彈性伸縮)等優(yōu)勢,可以快速響應業(yè)務需求,靈活應對業(yè)務峰值,實現(xiàn)業(yè)務服務永不宕機。
微服務在互聯(lián)網(wǎng)行業(yè)的作用
無論國內外,微服務技術在互聯(lián)網(wǎng)公司快速發(fā)展的過程中已經發(fā)揮了重要的作用。國外早期的代表是Netflix公司,在2008年因為全站癱瘓被迫停業(yè)3天后,Netflix痛下決心進行服務化架構改造,經過將近10年的努力,該公司實現(xiàn)了從單體架構到微服務化的變遷,支撐了業(yè)務的千倍增長,并產生了一系列的最佳實踐,開源了大量的微服務工具。
國內的如網(wǎng)易考拉,日活迅速增長到千萬級,這項電商業(yè)務面臨快速迭代和高并發(fā)的挑戰(zhàn),經過不斷的服務化改造,拆分成了400多個工程,不僅實現(xiàn)了618、雙11所需的彈性擴容,產品迭代次數(shù)也從每天2次變更到每天1000次變更的飛躍,并且輕舟微服務平臺的服務治理、自動化測試、APM等工具的支持下,軟件產品質量提升了52%。
傳統(tǒng)行業(yè)CIO需要微服務嗎?
來自互聯(lián)網(wǎng)的最佳實踐,是否符合傳統(tǒng)企業(yè)業(yè)務的需求,這是CIO思考的問題。一些傳統(tǒng)企業(yè)核心業(yè)務上云動力不足,就在于這些業(yè)務在集中式架構上運行穩(wěn)定,遷移到分布式架構沒有價值,反而要承擔遷移的風險。但微服務不同,從企業(yè)內部來看,采用不同技術建設的孤立的信息化系統(tǒng)需要有效整合,此前傳統(tǒng)的基于ESB(企業(yè)服務總線)的SOA的嘗試,本質上就是要解決企業(yè)內部異構系統(tǒng)集成的問題,只是粗粒度的服務和復雜低效的通信方式使得SOA難以大規(guī)模應用,而微服務架構采用輕量的API調用服務,經過了互聯(lián)網(wǎng)公司大規(guī)模業(yè)務的驗證,不存在類似的問題。
更好的機遇是,當前互聯(lián)網(wǎng)公司已經在實踐中形成了成熟的微服務工具平臺,可以幫助傳統(tǒng)企業(yè)解決微服務化的各種挑戰(zhàn)。例如,網(wǎng)易云輕舟微服務平臺是誕生于網(wǎng)易內部的一套面向微服務化架構的基礎設施,重點解決微服務管理、注冊發(fā)現(xiàn)、服務治理、應用性能監(jiān)控和鏈路跟蹤等問題,是網(wǎng)易考拉、網(wǎng)易云音樂、網(wǎng)易云課堂等各產品微服務化架構的基礎,該平臺已經產品化,應用于各個行業(yè)。
從外部因素來看,數(shù)字化的沖擊和業(yè)務創(chuàng)新的需求是不可避免的,傳統(tǒng)IT對創(chuàng)新支撐不足也無需爭議,微服務架構支持更快的響應與上線速度、資源與應用的全面彈性伸縮、應用服務的高可用、細粒度的資源配置等能力,正是企業(yè)探索創(chuàng)新業(yè)務、應對需求不明確的挑戰(zhàn)的必備能力。另一方面,大型互聯(lián)網(wǎng)公司對產業(yè)互聯(lián)網(wǎng)的探索,也倒逼傳統(tǒng)行業(yè)重新思考敏捷迭代、DevOps的軟件工程,對接到互聯(lián)網(wǎng)業(yè)務,以維持企業(yè)的行業(yè)競爭優(yōu)勢。將應用拆分成多個很小的微服務之后,CIO可以讓小團隊在幾周或者幾天內開發(fā)、測試和部署一些新特性,并在測試結束后以最快的速度投入生產,加速創(chuàng)業(yè)業(yè)務孵化,而在傳統(tǒng)單體架構下,新版本的發(fā)布是不可能這么容易實現(xiàn)的。
所以,當前CIO需要思考如何將微服務引入現(xiàn)有的IT體系。事實上,Gartner于2014年就提出了“雙模IT”的理念,不少CIO雖然對于這個概念并不敏感,卻出于業(yè)務發(fā)展需要,自然而然地形成了雙模IT的部署,穩(wěn)態(tài)面向核心業(yè)務,支撐企業(yè)業(yè)務穩(wěn)定、可靠、低成本的運行,敏態(tài)面向互聯(lián)網(wǎng)業(yè)務需求,解決增量的問題。根據(jù)Gartner的調研數(shù)據(jù),目前私有云的應用方向之一是True Cloud,不同于用虛擬化+自動化的方式把傳統(tǒng)應用遷移到私有云的Cloud-Inspired模式,使用True Cloud模式的用戶主要利用開源與互聯(lián)網(wǎng)相關的技術構建類公有云的私有云,特點是敏捷、快速交付、快速迭代,能夠應對未知的需求。目前,這類私有云用戶占到了15%。
微服務在傳統(tǒng)行業(yè)的實踐與效果
勇于探索微服務與自身業(yè)務相結合的行業(yè)先鋒,已經從微服務技術應用中獲益匪淺。以網(wǎng)易云輕舟微服務平臺為例,該平臺已經在物流、工業(yè)和金融等領域得到了深度應用。在物流行業(yè),輕舟微服務平臺幫助客戶實現(xiàn)了服務化開發(fā)框架及容器化部署平臺,以支撐更大的業(yè)務量,更快滿足能業(yè)務靈活變動需要,使得項目從需求到交付周期縮短40%,并通過實時監(jiān)控和調度,有效提升資源利用率,節(jié)約了大量的成本。
在工業(yè)領域,企業(yè)客戶利用輕舟微服務平臺,根據(jù)工業(yè)業(yè)務場景的實際需求,搭建了應用全生命周期管理的一站式工業(yè)互聯(lián)網(wǎng)云平臺,以落實其智能制造的戰(zhàn)略目標??蛻魧鹘y(tǒng)工業(yè)業(yè)務抽象成一個個業(yè)務服務,形成業(yè)務中臺,通過業(yè)務服務的總和以及數(shù)據(jù)的有效利用創(chuàng)造出新的價值。同時,客戶基于工業(yè)互聯(lián)網(wǎng)云平臺建立統(tǒng)一的研發(fā)中心,將分散在多個廠區(qū)的開發(fā)人員集中利用起來,在同一架構上快速協(xié)作,改變了傳統(tǒng)的溝通模式,大大降低了人力成本。
在金融領域,客戶借助輕舟微服務平臺,搭建了統(tǒng)一的容器云,提高了資源利用率和彈性伸縮能力,并通過容器的快速部署和啟停能力,提高了產品的部署效率和迭代效率。同時,客戶將業(yè)務系統(tǒng)進行微服務改造,簡化了運維復雜度,提升了產品開發(fā)效率、應用性能和穩(wěn)定性,并優(yōu)化了開發(fā)、測試以及運維流程和工具,有效縮短了開發(fā)測試周期,并提高了IT運維水平。
綜上所述,微服務架構可以為業(yè)務帶來加快業(yè)務迭代速度、提升業(yè)務可用性、靈活應對業(yè)務峰值、促進業(yè)務系統(tǒng)互通等價值,這些價值對于傳統(tǒng)行業(yè)實現(xiàn)數(shù)字化創(chuàng)新、獲取競爭優(yōu)勢也是不可或缺的,而網(wǎng)易云輕舟微服務平臺等經過大規(guī)模業(yè)務驗證的微服務工具,可以幫助企業(yè)快速完成微服務化的改造,獲得微服務帶來的好處。