1. 程式人生 > >IronCloud拷問傳統企業CIO:微服務化值得嗎?

IronCloud拷問傳統企業CIO:微服務化值得嗎?

開發十年,就只剩下這套架構體系了! >>>   

所謂數字化轉型升級,就是以數字技術優化傳統資源,企業需要謹慎地選擇合適的技術逐步完成自己的數字化戰略。以IronCloud微服務云為代表,雲端計算公司正在微服務領域發力,促進企業數字化創新。那麼,微服務對數字化轉型意味著什麼?傳統企業數字化轉型為什麼一定要引入微服務?

微服務是什麼?

所謂微服務架構,根據微服務架構大神Martin Fowler的描述,就是以業務域或業務功能為邊界,將一個大而全的應用拆分為可以獨立開發、獨立部署、獨立測試、獨立執行的一組小的應用,並且使用輕量級,通用的機制在這組應用間進行通訊。簡而言之,微服務就是把一個大型系統分割成多個小而自治的系統,這體現了一種化整為零的思想(分治),實現業務、資料和物理資源的分散化管理。“服務”與傳統的“元件”很相似,都是構造軟體的“零部件”。以傳統軟體研發的視角來看,微服務的就是傳統元件技術在雲端以外掛化形式的自然對映。當然,微服務圍繞業務分工的粒度更細,整個分散式系統的協作也更為複雜。

與微服務架構相對應的是單體架構,單體架構的特點是元件高度耦合導致開發部署效率低、單體結構導致可用性差、單體部署導致彈性缺失,微服務架構則具備迭代更快(各模組獨立開發、部署)、質量更好(去雪崩效應,秒級恢復)、應對爆發(架構到資源全彈性伸縮)等優勢,可以快速響應業務需求,靈活應對業務峰值,實現業務服務永不宕機。

微服務在網際網路行業的作用

無論國內外,微服務技術在網際網路公司快速發展的過程中已經發揮了重要的作用。國外早期的代表是Netflix公司,在2008年因為全站癱瘓被迫停業3天后,Netflix痛下決心進行服務化架構改造,經過將近10年的努力,該公司實現了從單體架構到微服務化的變遷,支撐了業務的千倍增長,併產生了一系列的最佳實踐,開源了大量的微服務工具。

國內的如隨行付,日活迅速增長到千萬級,這項電商業務面臨快速迭代和高併發的挑戰,經過不斷的服務化改造,拆分成了400多個工程,不僅實現了618、雙11所需的彈性擴容,產品迭代次數也從每天2次變更到每天1000次變更的飛躍,並且IronCloud微服務平臺的服務治理、自動化測試、APM等工具的支援下,軟體產品質量提升了52%。

傳統行業CIO需要微服務嗎

來自網際網路的最佳實踐,是否符合傳統企業業務的需求,這是CIO思考的問題。一些傳統企業核心業務上雲動力不足,就在於這些業務在集中式架構上執行穩定,遷移到分散式架構沒有價值,反而要承擔遷移的風險。但微服務不同,從企業內部來看,採用不同技術建設的孤立的資訊化系統需要有效整合,此前傳統的基於ESB(企業服務匯流排)的SOA的嘗試,本質上就是要解決企業內部異構系統整合的問題,只是粗粒度的服務和複雜低效的通訊方式使得SOA難以大規模應用,而微服務架構採用輕量的API呼叫服務,經過了網際網路公司大規模業務的驗證,不存在類似的問題。

更好的機遇是,當前網際網路公司已經在實踐中形成了成熟的微服務工具平臺,可以幫助傳統企業解決微服務化的各種挑戰。例如,IronCloud微服務雲(ironz.com)是一套面向微服務化架構的基礎設施,重點解決微服務管理、註冊發現、服務治理、應用效能監控和鏈路跟蹤等問題,是許多產品微服務化架構的基礎,該平臺已經產品化,應用於各個行業。

從外部因素來看,數字化的衝擊和業務創新的需求是不可避免的,傳統IT對創新支撐不足也無需爭議,微服務架構支援更快的響應與上線速度、資源與應用的全面彈性伸縮、應用服務的高可用、細粒度的資源配置等能力,正是企業探索創新業務、應對需求不明確的挑戰的必備能力。另一方面,大型網際網路公司對產業網際網路的探索,也倒逼傳統行業重新思考敏捷迭代、DevOps的軟體工程,對接到網際網路業務,以維持企業的行業競爭優勢。將應用拆分成多個很小的微服務之後,CIO可以讓小團隊在幾周或者幾天內開發、測試和部署一些新特性,並在測試結束後以最快的速度投入生產,加速創業業務孵化,而在傳統單體架構下,新版本的釋出是不可能這麼容易實現的。

所以,當前CIO需要思考如何將微服務引入現有的IT體系。事實上,Gartner於2014年就提出了“雙模IT”的理念,不少CIO雖然對於這個概念並不敏感,卻出於業務發展需要,自然而然地形成了雙模IT的部署,穩態面向核心業務,支撐企業業務穩定、可靠、低成本的執行,敏態面向網際網路業務需求,解決增量的問題。根據Gartner的調研資料,目前私有云的應用方向之一是True Cloud,不同於用虛擬化+自動化的方式把傳統應用遷移到私有云的Cloud-Inspired模式,使用True Cloud模式的使用者主要利用開源與網際網路相關的技術構建類公有云的私有云,特點是敏捷、快速交付、快速迭代,能夠應對未知的需求。目前,這類私有云使