大家都知道,我不但在從事云計(jì)算方面的工作,而且還在嘗試在云計(jì)算中使用以服務(wù)為導(dǎo)向的架構(gòu)(SOA)。對(duì)于我來(lái)說(shuō),這兩個(gè)概念是密不可分的:沒(méi)有SOA,你根本不可能實(shí)施一個(gè)成功、高效的云計(jì)算。但是,云計(jì)算和SOA又是兩個(gè)不同的概念。
關(guān)鍵問(wèn)題在于,目前從事云計(jì)算空間的人士都在基礎(chǔ)設(shè)施規(guī)劃和管理方面經(jīng)驗(yàn)豐富,但體系結(jié)構(gòu)方面就經(jīng)驗(yàn)不足更勿論SOA了。所以,由于缺乏云計(jì)算和SOA之間的穩(wěn)固鏈接,許多項(xiàng)目最終都以技術(shù)為驅(qū)動(dòng)的云計(jì)算實(shí)施而告終,而這類云計(jì)算實(shí)施在提供所需價(jià)值方面天生能力不足。沒(méi)有經(jīng)過(guò)充分的思考和規(guī)劃,倉(cāng)促上馬流程、應(yīng)用程序和服務(wù)的云計(jì)算化是非常不明智的。
事實(shí)證明,如果你能夠很好將云計(jì)算和SOA結(jié)合在一起,你可能就是在使用正確的云計(jì)算技術(shù)做正確的事,其中包括了大多數(shù)企業(yè)都缺乏的靈活性與可擴(kuò)展性。SOA的核心目的在于為一個(gè)松散耦合的架構(gòu)提供一個(gè)結(jié)構(gòu)化的架構(gòu)指導(dǎo),以便于更好地充分應(yīng)用云計(jì)算資源。
為什么SOA和云計(jì)算對(duì)彼此的意義重大
SOA適合于云計(jì)算。考慮到SOA是把現(xiàn)有的和新的系統(tǒng)打破并將其分為他們的組成部分,通常是數(shù)據(jù)、服務(wù)和流程。 這些組件是松散耦合的,所以能夠部署于企業(yè)的任何內(nèi)部或外部。因此,你可以將運(yùn)作在本地服務(wù)器或私有云或公共云的系統(tǒng)和架構(gòu)組件進(jìn)行混合和匹配,并選擇最佳的平臺(tái)來(lái)完成工作。
問(wèn)題的核心在于,很多企業(yè)并不關(guān)注系統(tǒng)架構(gòu)或規(guī)劃,取而代之他們往往關(guān)注的是技術(shù)。SOA是你需要完成的工作,而不是你所能購(gòu)買的產(chǎn)品或服務(wù),因此你無(wú)法把它當(dāng)作一個(gè)工具購(gòu)買并將其引入到你的企業(yè)中。
多年以來(lái),過(guò)分關(guān)注技術(shù)本身常常讓我們麻煩纏身。在很多方面,我們期待著下一代的技術(shù)能夠幫助我們從上一代技術(shù)所帶來(lái)麻煩中解脫出來(lái)。云計(jì)算并不會(huì)提供這樣的解決方案。與之相反,云計(jì)算只是一個(gè)在你的企業(yè)中創(chuàng)建新設(shè)施的另一個(gè)方法;它還能使你的企業(yè)架構(gòu)變得更為復(fù)雜,并因此不太適應(yīng)所需的新業(yè)務(wù)流程。每次采用一個(gè)最時(shí)髦技術(shù)解決問(wèn)題時(shí),都會(huì)給實(shí)施者帶來(lái)一個(gè)更大的問(wèn)題。
云計(jì)算化應(yīng)當(dāng)關(guān)注于SOA的基礎(chǔ)。在初始水平理解所有現(xiàn)有的和新的IT資源,其中包括數(shù)據(jù)、服務(wù)、流程、規(guī)則、接口等。并由此將所有這些資源認(rèn)為是服務(wù)。對(duì)它們進(jìn)行邏輯定義,并將它們添加至服務(wù)組合中。然后,考慮那些能夠最好地承載這些服務(wù)的平臺(tái)。這就是云計(jì)算實(shí)施的著手點(diǎn)和出發(fā)點(diǎn)。云計(jì)算并不是要更換架構(gòu),它只是一個(gè)能夠進(jìn)行更高效、更有效業(yè)務(wù)處理的替代平臺(tái)。
如果云計(jì)算是你的目的地,那么SOA就是通往目的地的必經(jīng)之路。