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