在最近的一篇文章中,Joe McKendrick質(zhì)疑當(dāng)前的一些平臺(tái)即服務(wù)(PaaS)方法是否會(huì)像其他依賴(lài)于廠商的SOA衍生品一樣,成為廠商依賴(lài)的潛在機(jī)會(huì)。正如他所說(shuō),雖說(shuō)PaaS……
[……]本質(zhì)上提供了一個(gè)隨需應(yīng)變的數(shù)據(jù)中心,其服務(wù)器、存儲(chǔ)介質(zhì)和中間件都由提供商管理。但是你不會(huì)想要把自己的需求強(qiáng)加于某一單個(gè)廠商。
Joe引用了Lori MacVittie的一篇文章,文中區(qū)分了云中的兩個(gè)概念,可遷移性和可移植性。
前者意味著從一個(gè)環(huán)境遷移到另一個(gè)環(huán)境而無(wú)需作任何修改,而后者允許了跨平臺(tái)(或者在這里,跨云)的部署。遷移性無(wú)需重新編譯,無(wú)需對(duì)應(yīng)用本身重定向,而事實(shí)上,移植性對(duì)兩者可能都有需要。
Lori指出,各廠商近來(lái)的宣傳實(shí)質(zhì)都是關(guān)于移植性而非遷移性,這些宣傳可能從一開(kāi)始就是概念不清晰的。誠(chéng)然,目前總有一些方面可能是會(huì)限制云中的遷移性,比如,當(dāng)你選擇某一特定的語(yǔ)言,如Java,有些PaaS方案可能就不提供支持。盡管如此,正如Lori指出的那樣,目前PaaS方法的另一些方面可能并未明顯受限于遷移性。
[……] 對(duì)一些私有平臺(tái)服務(wù)的使用,比如提供數(shù)據(jù),隊(duì)列和郵件。[近期的一些宣傳]提及到的“利用”或者“影響”平臺(tái)服務(wù)的能力,當(dāng)其建立于一種旨在幫助客戶(hù)避免云“依賴(lài)” 的環(huán)境中時(shí),這種說(shuō)法就極具諷刺意味,因?yàn)楫?dāng)一個(gè)組織決定和PaaS(平臺(tái)即服務(wù)) 方案提供的私有服務(wù)集成時(shí),廠商依賴(lài)幾乎是無(wú)法避免的。[……] 這樣的平臺(tái)服務(wù)是特定廠商私有的、封閉的、無(wú)移植性可言的。它們是那種一旦應(yīng)用依賴(lài)上,就“無(wú)法擺脫” 的服務(wù)。
所以無(wú)論客戶(hù)怎么想,他們都會(huì)對(duì)這些平臺(tái)產(chǎn)生依賴(lài)。當(dāng)然,類(lèi)似的警告早在2008就由Rich Stallman's提出,殊途同歸,幾乎同時(shí)Tim Bray也提出了類(lèi)似的警告。正如Stallman回應(yīng)的那樣:
使用自由軟件的拷貝在自己的計(jì)算機(jī)上實(shí)現(xiàn)計(jì)算。如果你在使用一個(gè)私有程序,或者他人的Web服務(wù),你是毫無(wú)抵抗力的,你將受制于開(kāi)發(fā)這個(gè)軟件的人。
Joe指出,盡管如此,這些問(wèn)題同樣困擾著其他軟件方法論,比如SOA(事實(shí)上,像大部分讀者將會(huì)意識(shí)到一樣,廠商依賴(lài)一直是個(gè)常態(tài),在SOA出現(xiàn)前就一直存在):
Lori提出的問(wèn)題與面向服務(wù)世界一直力圖解決的問(wèn)題是同一個(gè)問(wèn)題——換言之,公司過(guò)分或?qū)iT(mén)依賴(lài)某一特定廠商的環(huán)境,從而限制了整個(gè)公司內(nèi)部或公司間不同應(yīng)用筒倉(cāng)之間的互操作性。
近幾年我們目睹了為盡可能使SOA技術(shù)標(biāo)準(zhǔn)化所做的越來(lái)越多的努力,包括各種各樣的WS-*,SCA,JAX-WS以及JBI。鑒于Lori的定義,這些標(biāo)準(zhǔn)可以幫助解決可遷移性和(或)可移植性,以及某些情況下的互操作性。所以解決廠商依賴(lài)問(wèn)題的第一步應(yīng)該是標(biāo)準(zhǔn)化,盡管這樣,標(biāo)準(zhǔn)化的建立也不可急于求成,因其未必一定會(huì)成功。