芮祥麟:SOA、SaaS和云計算之間的關系
隨著云計算的概念受到越來越多的人的推崇和論證,“云上的日子”看起來離我們越來越近了。幾乎所有的IT廠商都不約而同了啟動了各自的云計算戰(zhàn)略。但是由于每個企業(yè)的戰(zhàn)略出發(fā)點不同,企業(yè)推出的云計算概念也有所差別。如果僅僅以自己的產(chǎn)品和業(yè)務為標準,片面地將云計算理解為SOA或SaaS,則不僅混淆了云計算概念,模糊了其產(chǎn)品形式, 還阻礙了云計算的推廣和應用。那么, SOA、 SaaS等同于云計算么?它們有什么區(qū)別? 我們應當如何正確理解這三者之間的關系呢?
云計算涵蓋的范圍很廣泛,內(nèi)容也很豐富。我們通常可以把云分為三個層次:硬件層的基礎架構(gòu)云(Infrastructure as a Service, IaaS)、平臺云(Platform as a Service, PaaS)和軟件應用云(Software as a Service, SaaS)。目前大家對于云計算概念的理解,主要有兩個誤區(qū):一是片面地把SaaS視為云計算;二是以為運用了SOA架構(gòu)就感覺好像實現(xiàn)了云計算,于是就把SOA和云計算等同起來。
實際上,SOA作為一種面向服務的架構(gòu),是一種軟件架構(gòu)設計的模型和方法論。從業(yè)務角度來看,一切以最大化“服務”的價值為出發(fā)點,SOA利用企業(yè)現(xiàn)有的各種軟件體系,重新整合并構(gòu)建起一套新的軟件架構(gòu)。這套軟件架構(gòu)能夠隨著業(yè)務的變化,隨時靈活地結(jié)合現(xiàn)有服務,組成新軟件,共同服務于整個企業(yè)的業(yè)務體系。簡單的理解,我們可以把SOA看作是模塊化的組件,每個模塊都可以實現(xiàn)獨立功能,而不同模塊之間的結(jié)合則可以提供不同的服務,模塊之間的接口遵循統(tǒng)一標準,可以實現(xiàn)低成本的重構(gòu)和重組。在SOA的技術框架下,可以把雜亂無章的龐大系統(tǒng)整合成一個全面有序的系統(tǒng),從而增加企業(yè)在業(yè)務發(fā)展過程中應用系統(tǒng)的靈活性,實現(xiàn)最大的IT資產(chǎn)利用率。
SOA技術其實在幾年前就已經(jīng)出現(xiàn)了,但是任何一種IT技術,真正要產(chǎn)生效應,都必須要以大大降低實際系統(tǒng)的使用、維護以及升級的成本為前提。更重要的是,一種技術的普及需要,都只有在這種技術不斷成熟,并且形成相應的規(guī)模應用之后才能實現(xiàn)。
SaaS則是一種基于互聯(lián)網(wǎng)技術的軟件價值交付的新型業(yè)務模式。具體地講,SaaS是按照使用者的需求提供軟件應用服務的業(yè)務模式。SOA架構(gòu)可發(fā)揮其在系統(tǒng)界面和接口標準化等方面的優(yōu)勢,為SaaS提供一個較好的技術平臺,從服務管理和系統(tǒng)運維角度為SaaS提供有力的技術支撐,從而有助于靈活地構(gòu)建起一個用戶成本最低的SaaS方案。
由此看來,SOA與SaaS有著必然的聯(lián)系:兩者都面向服務。但兩者也有著明顯的區(qū)別:SaaS側(cè)重于運營和交付,SOA側(cè)重于平臺架構(gòu)。所以,SaaS是云計算的最終價值交付運營模式,SOA是實現(xiàn)云計算開放架構(gòu)的基礎理念之一,兩者都包含了云計算的某些重要特征,但是他們都不能稱之為云計算的全部。
互聯(lián)網(wǎng)技術催生云計算、SaaS與SOA的匯合
云計算與SaaS、SOA三者本身的發(fā)展軌跡和側(cè)重點不同,但是卻又互相聯(lián)系,互相影響。
我們可以從云計算的發(fā)展歷史來看,云計算的模式就好比以前在大學或者政府的研究機構(gòu)里面的大型計算機中心。計算機中心把計算機的計算和存儲資源以租用時段的方式提供給內(nèi)部各個科研單位,或者提供給外部用戶。從過去的大型計算機時代到個人計算機、企業(yè)服務器的興起,計算、存儲資源開始分散于企業(yè)。但是如今,企業(yè)面對成千上百臺服務器以及上千種不同的軟件,運維成本越來越高。云計算可以把所有的計算資源虛擬化,進行動態(tài)管理,進而大大降低企業(yè)的IT運維成本,因此已是一個頗有影響的技術趨勢。
另一方面,從可適應性計算、網(wǎng)格計算到云計算,除了硬件資源的集中使用外,企業(yè)更希望操作系統(tǒng)、數(shù)據(jù)庫,以及軟件、應用等都能通過集中調(diào)配的方式滿足企業(yè)的各種需求。隨著互聯(lián)網(wǎng)技術的迅速發(fā)展與普及,SOA則能帶來整個軟件系統(tǒng)的互聯(lián)成本、維護成本、升級成本的大幅降低,并成為支撐云計算的技術標準。
所有因素都幫助促成了從硬件層的基礎架構(gòu)云(IaaS)到平臺云(PaaS)再到軟件應用云(SaaS)不同層次的云計算。
SOA與SaaS合力, 推動云計算產(chǎn)業(yè)的成熟與發(fā)展
云計算實現(xiàn)了IT基礎設施的社會共享;SOA有利于整合技術平臺,統(tǒng)一技術標準,推動軟件產(chǎn)業(yè)價值鏈中的各成員間的協(xié)調(diào)配合,充分利用硬件資源共享的有利條件,促使云上的軟件系統(tǒng)日趨成熟;SaaS則通過軟件交付模式上的創(chuàng)新,為云計算開辟出更大的市場空間,激勵眾多軟件廠商開發(fā)出更多應用,從而使云計算產(chǎn)業(yè)聯(lián)盟不斷發(fā)展壯大。
總而言之,在云計算產(chǎn)業(yè)鏈向前推進的過程中,如果我們能善于發(fā)揮SOA和SaaS兩者的特點與優(yōu)勢,將其效用結(jié)合起來,那必將有助于實現(xiàn)云計算產(chǎn)業(yè)的新一輪高速發(fā)展。(作者系SAP全球高級副總裁、SAP中國研究院總裁)
評論