現如今隨著新一代IT技術的發展,業務需求變的日益復雜,企業對于IT的敏捷性有了更高的要求,需要快速部署、開發、上線、迭代。傳統的IT架構面臨巨大挑戰,往往系統還未搭建好需求就已改變。所以,以云計算、大數據、移動互聯網和物聯網等新一代IT技術作為技術支撐,微服務架構模式應運而出,為敏捷部署以及復雜企業應用實施提供巨大的幫助。
對于當前的微服務架構的火熱,中培偉業《微服務架構設計與最佳實踐》培訓專家程老師表示,微服務架構并不是憑空而來,互聯網的連接正在變革一個個的應用場景,(2C端)比如說拼車、滴滴打車,出門前就可以把車叫好,在北京還有回家吃飯的app,在周邊的人做了飯就給你送過來,類似于這樣的應用的連接,移動app連接一個個人,把碎片化的需求對接起來改變一個個應用場景。
此外,還有物聯網的場景也在改變物聯的場景,像智能制造,很多領域由于物的連接,實時數據的產生、實時分析,這些應用場景會帶來我們的傳統IT系統,都將面臨著重構,因為這種場景下面需隨時交付、隨時大量用戶的并發、隨時大量數據的采集,特別是物聯網大量的交互,傳統的IT架構是無法支撐這樣的大量的并發和大量數據的存儲處理,傳統的應用系統也都將面臨重構;這個時候云基礎設施和微服務架構為應用的快速創建和快速迭代提供了條件:底層有一個云基礎設施,包括IaaS、PaaS,在這樣的基礎上快速構建微服務,從上到下都是彈性可擴展的。隨著交互量自動就支持它,這樣的話基于微服務架構重構應用系統來支持業務的轉型和快速創新,這是我們各行業面臨的一個挑戰與機會。
但我們有一個不得不面臨的問題:如何處理遺留系統?國際上已經形成了一些經驗,兩條腿走路:
第一,卡住遺留系統。給遺留系統像微服務一樣創建API協議,在舊系統邊緣逐漸創建一個新系統,讓它慢慢生長幾年,直到舊系統被卡死。
第二,新功能微服務化。所有的新功能用微服務去做,逐漸在遺留系統周圍創建一個原生云系統。
解決了遺留系統后,我們如何做好微服務呢?
首先,從文化上,我們要從傳統煙囪式的開發走向持續的開發和交付,一邊開發一邊測一邊交付,從大項目交付走向持續交付。過去都是做大項目,一做就是半年一年,現在是持續交付,沒有完成時,永遠都是測試版;另外還要從中心化治理到去中心化自治。
其次,從組織上,我們要構建兩個非常重要的團隊:云基礎設施團隊和微服務架構業務能力團隊。每個服務都是處理一塊業務,過去都是做項目,現在不再是做一個個大項目,而是做一個個微服務,需要業務能力的團隊,它就是業務能力的開發。從項目團隊到業務能力團隊,打造平臺運營團隊,給業務運營團隊提供自服務的、敏捷的基礎設施平臺。
再次,從技術上,要拆分。應用要拆分,數據也要拆分,做容器鏡像,通過容器的方式快速的部署,從ESB總線編排到事件驅動。
最后,從總體上,互聯網技術核心就是分布式:我們一直在拆,不斷的拆,最早從把數據從應用里面拆出來,數據又拆成交易數據、緩存數據,應用也是拆成前端、后端。根據并發量,應用也不斷的拆成微服務。所以整個來講,技術的發展就是不斷的拆分,使它變的彈性、可擴展,變成可以獨立的更新。
另外一個重要的就是API Gateway,API的網關:今后是個API的經濟,我們的內部API、外部API怎么使用它,各種各樣的SaaS服務就是通過API使用它。未來的應用的使用就像Appstore的模式,很多的API就是一個個的商品,我們能調用它,很多API可以組合成一個商品、一個APP,也有可能某一個API直接提供一種服務,也有可能是微服務組合成一個服務,這也是中培精心打造本課程的出發點。