BI產(chǎn)品應(yīng)用微服務(wù)架構(gòu)的可能性探究
作者:鄧天佐
?
“微服務(wù)”是近年來(2014年起)逐步興起的軟件架構(gòu)概念,有趣的是,雖然很多的軟件都在談“微服務(wù)”,但其并沒有一個統(tǒng)一且官方的定義和指導(dǎo)手冊。
?
簡而言之,微服務(wù)架構(gòu)風(fēng)格這種開發(fā)方法,是以開發(fā)一組小型服務(wù)的方式來開發(fā)一個獨(dú)立的應(yīng)用系統(tǒng)的。其中每個小型服務(wù)都運(yùn)行在自己的進(jìn)程中,并經(jīng)常采用HTTP資源API這樣輕量的機(jī)制來相互通信。這些服務(wù)圍繞業(yè)務(wù)功能進(jìn)行構(gòu)建,并能通過全自動的部署機(jī)制來進(jìn)行獨(dú)立部署。這些微服務(wù)可以使用不同的語言來編寫,并且可以使用不同的數(shù)據(jù)存儲技術(shù)。對這些微服務(wù)開發(fā)者僅僅需要做最低限度的集中管理。
?
傳統(tǒng)的企業(yè)系統(tǒng)都分為三大部分:客戶端用戶界面,數(shù)據(jù)庫和服務(wù)端應(yīng)用系統(tǒng)。這種單塊(monolithic)的架構(gòu)風(fēng)格使得系統(tǒng)的任何改變,都會要實(shí)現(xiàn)以上三大模塊的版本迭代,且需要充分考慮三者之間的融合性。這使得單塊應(yīng)用很難通過迭代成為一個越來越好的模塊化結(jié)構(gòu),因?yàn)檫@樣的開發(fā)方式無法將一個模塊的變更控制在該模塊內(nèi),使得迭代的風(fēng)險性和占用的資源變得難以控制。這也讓微服務(wù)架構(gòu)在越來越多地出現(xiàn)在新興系統(tǒng)架構(gòu)理念中。
?
其實(shí)容易預(yù)見,隨著各種系統(tǒng)的微服務(wù)架構(gòu)風(fēng)格的普及,BI系統(tǒng)作為各種業(yè)務(wù)系統(tǒng)的輔助系統(tǒng),必然也會跟隨這股潮流,進(jìn)而適應(yīng)越發(fā)復(fù)雜的場景。BI的微服務(wù)架構(gòu)會有哪些值得期待的特點(diǎn)呢,具體來說有如下三點(diǎn):
?
1.BI功能應(yīng)用超市式開發(fā)。微服務(wù)架構(gòu)的特點(diǎn)決定了它的核心邏輯是將復(fù)雜性問題分解,雖然功能總量不變,但應(yīng)用程序已被分解為可管理的模塊或服務(wù)。這些服務(wù)定義了明確的RPC或消息驅(qū)動的API邊界。微服務(wù)架構(gòu)強(qiáng)化了應(yīng)用模塊化的水平,這樣使得微服務(wù)開發(fā)的速度要快很多,更容易理解和維護(hù)。具體的表現(xiàn)就是用戶能從BI工具中以自由度更高地方式加入或剔除功能,超市般的選擇模式,進(jìn)而適應(yīng)自己的業(yè)務(wù)場景。而隨著功能越來越多地實(shí)現(xiàn)打包,BI開發(fā)的門檻也將越來越低,這十分符合近年來業(yè)務(wù)方直接使用BI進(jìn)行分析的趨勢。
?
2.BI部署實(shí)現(xiàn)“零件組裝式”。上一個特點(diǎn)是從用戶使用層面說的,而這個則是從供應(yīng)商和客戶選型上而言。在用戶選擇各類BI產(chǎn)品的時候,過去或許局限于某個產(chǎn)品或品牌,但是未來極有可能出現(xiàn)集成各類BI工具功能的平臺化應(yīng)用,在平臺內(nèi)同化各類BI產(chǎn)品后,給予客戶更大范圍的選擇空間。微服務(wù)架構(gòu)的高度可復(fù)用性決定了它可以通過組裝客戶所需的各類BI工具的功能組件,打造最適用于客戶的BI體系。這將使得BI體系的豐富度和自由度得到極大提升。
?
3.BI平臺生態(tài)內(nèi)的自動迭代。在數(shù)聚股份看來,微服務(wù)架構(gòu)在將功能模塊實(shí)現(xiàn)獨(dú)立開發(fā)獨(dú)立應(yīng)用的基礎(chǔ)上,使得BI體系具備更細(xì)的功能粒度,這也將催生出真正的系統(tǒng)生態(tài)。用戶將有能力在已有功能的基礎(chǔ)上,對特定功能進(jìn)行改造和升級,而這對于微服務(wù)架構(gòu)而言并不會影響整體的穩(wěn)定性。這樣,整個BI體系內(nèi)就有可能產(chǎn)生獨(dú)立于原有功能之外的新功能,實(shí)現(xiàn)了生態(tài)系統(tǒng)內(nèi)的自我繁衍和自我迭代。例如數(shù)聚的SEMF產(chǎn)品和Microstrategy都支持在原生系統(tǒng)架構(gòu)上獨(dú)立地增加企業(yè)定制化的功能甚至復(fù)雜應(yīng)用。