微服務架構這個概念出來也有2-3年的時間了,從最開始在互聯網企業的普遍應用,到如今愈來愈多的企業開始關注和但願嘗試使用微服務架構。架構
對於企業從傳統IT架構到微服務架構的轉型,絕對不是盲目的跟風互聯網企業,而是企業的業務規範,企業的信息化水平和IT成熟度發展到必定階段後的好比訴求,那麼這些關鍵的訴求究竟有哪些?併發
從系統規劃建設期到IT管控治理和運維期運維
首先能夠看到當企業的信息化和IT系統建設發展到必定階段後,天然會從IT系統的規劃和建設期發展到後期的IT系統管控治理和運維期。到了後期不會再有大量的新系統規劃建設,而更多的都是爲了業務流程優化進行的IT系統需求變動,優化和功能改造。那麼關鍵的問題就變成了如何快速的響應業務需求變化併發布系統,同時如何又以最小的代價和影響來發布系統?微服務
傳統的IT架構模式能夠看到很難解決這個問題,每次需求或功能變動的發佈週期至關長,同時因爲是一個大單體應用所有發佈,每每增長了一個新功能反而致使多個老功能出問題。這些都是咱們常常遇到的問題,其核心的緣由就是原來咱們管理的業務系統自己的顆粒度太大了,其次就是從需求到開發到測試到發佈整個過程如何自動化銜接。第一點涉及到微服務架構,第二點涉及到PaaS和DevOps方面的內容。測試
在微服務架構下,咱們管理的單位從原來的大單體應用變化爲了細粒度的微服務模塊,天然在變動和發佈的時候影響單位也相應變小到各個業務模塊粒度。這將有效的解決子在後期運維變動功能發佈的影響。優化
從業務組織和IT系統緊耦合到解耦需求雲計算
其次,在傳統IT系統規劃和建設中,在企業架構規劃設計中,咱們常常談業務和流程驅動IT,強調端到端流程的貫通。可是系統規劃設計和實現的過程當中,最廣泛的現象就是否是業務驅動IT,而是業務部門驅動IT,致使咱們的IT系統和業務部門是緊耦合的。舉例來講,一個企業只有供應鏈部,那麼建設的系統就是供應鏈系統;可是若是一個企業有采購部,有物流部,那麼建設完成的系統就是採購系統和物流系統。設計
在這種狀況下,帶來的最大問題就是企業的業務組織架構一調整,每每帶來IT系統巨大的調整工做量,在我原來的企業也常常遇到IT系統常常配合業務組織架構調整的事情。這類工做已經不是簡單的HR系統組織結構調整,還包括了自己的業務系統中業務功能點的調整,已有的業務數據的調整,這些都須要進行動態切換和割接。接口
當企業建設的業務系統越多,和業務部門關係綁定的越緊密,這種調整帶來的複雜度和工做量也就越大。資源
而真正的解決思路就是要將業務部門和業務系統解耦,如何解耦?仍然是從業務流程驅動的角度去考慮和拆分具體的業務單元,這些業務單元造成獨立的業務組件(微服務架構中的微服務模塊),因爲這些業務組件粒度已經足夠細,所以更加容易靈活的組裝或組合去知足實際業務部門的平常業務需求。
舉例來講:若是是大的供應鏈部門,就配置供應商管理,物料管理,採購訂單,招投標,庫存管理,物流配送管理等多個微服務模塊。若是是拆分爲採購部門和物流部門,那麼採購部門配置供應商管理,物料管理,採購訂單,招投標管理,物流部門配置庫存管理,物流配送管理等微服務模塊。
在規劃和拆分微服務模塊的時候更可能是業務和流程角度出發,只要劃分的足夠合理,就可以最小化的減少業務組織架構調整對IT系統自己形成的影響。
從單打獨鬥信息孤島到共享思路下的平臺戰略
企業信息化發展到必定階段,本身都會意識到按照傳統的一個個孤立的業務系統建設模式愈來愈行不通,這不只僅是業務系統不少功能重複建設的問題,同時還致使了業務系統中數據不一致性,集成困難,後續的運維和變動處理困難等一系列問題。即典型的錢花的更多,可是系統卻愈來愈複雜和難用。
而解決這個問題的的關鍵就是平臺戰略,對於平臺戰略自己又有兩個重要的核心,即不是簡單的遺留系統能力直接服務化共享,而是首先要集中,其次纔是共享。集中化是雲的思路,而共享纔是SOA的思路,兩個關鍵點都解決了纔是雲計算+SOA的關鍵思路融合。
爲啥要把這個問題在微服務架構裏面談,由於平臺+應用構建模式自己也是微服務架構實施的一個基礎條件,微服務模塊更多都應該是獨立承擔某個業務域的業務組件模塊,而不該該包括相似流程引擎,系統管理等共性底層組件,不然微服務模塊又變成很重的單體應用,沒有了任何價值。
要作好微服務架構,咱們就必須作好底層基礎共性平臺的建設,只是微服務架構裏面會談爲共性的技術服務能力提供,都是一個道理,就是共性的東西或能力要下沉,而後再以標準的服務接口方式暴露或共享出來給上層的業務系統使用。
資源池的有效利用和資源動態調度
這是微服務架構結合PaaS容器化技術和動態調度技術後帶來的一個新的亮點,便可以真正實現按照業務需求和業務併發量動態的申請和分配資源,以知足業務併發訪問的需求。在整個過程當中不須要人爲去幹預,而只須要設置好相應的調度規則和資源動態擴展規則便可。
對於這個點實際當前並非很強企業的訴求,只是後續成熟度發展到必定階段後帶來的亮點功能,真正解決了IT系統的靈活資源分配,擴展和動態調度問題。