雲計算的說法正在廣為流行,Gartner高級分析師Ben Pring評價道:「它正在成為一個大眾化的詞語。 」但是,問題是似乎每個人對於雲計算的理解各不相同。 作為一個對互聯網的比喻,「雲」是很容易理解的。 但是一旦同「計算」聯繫起來,它的意義就擴展了,而且開始變得模糊起來。 有些分析師和公司把雲計算僅僅定義為計算的升級版——基本上就是互聯網上提供的眾多虛擬伺服器。 另外一些人把雲計算定義的更加寬泛,他們認為使用者在防火牆保護之外消費的任何事物都處於「雲」之中。
雲計算被人們關注是在人們考慮IT業到底需要什麼之後,人們需要找到一種辦法能夠在不增加新的投資,新的人力和新的軟體的情況下增加互聯網的能力和容量。 而雲計算正好提供了這種可能。 現今雲計算正處於一個起步的階段,大大小小的公司提供著各式各樣的雲計算服務,從軟體應用到HTTP://www.aliyun.com/zixun/aggregation/13684.html">網路存儲再到郵件過濾。 這些公司一部分是基礎設備供應商,另一部分是像Salesforce.com之類的SAAS(軟體即服務)供應商。 現今主要實現的是基於互聯網的個人服務,但是雲計算的聚合和整合正在產生。
隨著企業對於雲計算的關注程度越來越大,並且嘗試部署雲計算應用的企業也急劇上升,雲計算已經成為最炙手可熱的新興技術。 而大家對於SOA的關注程度不再像過去那麼強烈。 事實上,有許多東西,雲計算供應商SOA廠商可以相互借鑒和學習。
首先,我簡要介紹雲計算的幾個值得SOA借鑒的優點:
1.服務設計
一些通過雲部署服務的供應商比如亞馬遜、TheWebService、Force.com等等,在服務設計方面做的相當好。 你會情不自禁地被他們提供的服務所吸引,因為精心的設計,再加上確實能夠滿足你的需要讓你無法抗拒。 許多SOA專案要麼太粗糙,要麼就過於繁瑣,一句話概括就是沒有很好的進行服務設計。
2.服務擴充性
雲計算服務的設計宗旨就是能夠在需要的任何時候都能進行擴展,雲服務使用者確實能夠做到這一點因為他們能夠在任何時候按需定制所需的服務。 而在SOA中擴展服務通常是一個痛苦和昂貴的過程。
接下來,我們看一看SOA值得雲計算借鑒的幾個地方:
1.服務治理
就目前而言,雲計算技術幾乎沒有任何治理的概念,因此,現在幾乎沒有任何雲計算控制和執行策略。 因此,許多企業選擇繼續觀望的態度,而不急於採用雲計算技術。 反觀SOA,它的治理技術已經相當成熟了。 雖然,SOA治理的實施並不總是效果非常好,不過它已經成為了SOA生命週期的一個基本組成部分。
2.架構驅動
如果你SOA部署方法得當,那麼你肯定是按照從架構再到技術這種驅動方法。 而在雲計算領域,資源需求才是真正的起點。 雲計算同樣需要一個深思熟慮的架構,實際上,架構對於雲計算更加重要,因為使用者需要將架構擴展到防火牆之外。
雲計算和SOA的交叉點在哪裡呢?
雖然你的確能無需部署SOA就可以充分利用雲,不過雲計算的真正價值在於它確定存在於防火牆之外位於其它的資料中心裡的服務、資料和流程的能力。 那些企圖想要往雲中投擲東西但卻沒有任何架構遠見的人會發現,雲計算將不會帶來太多的價值。 事實上,當考慮到遷移帶來的風險和成本時,可能會使你非常吃驚。
事實上,你可以將雲計算看作是SOA向雲交付資源的一種擴展,比如存儲即服務、資料即服務、平臺即服務。 訣竅在於確定哪些服務、資訊和過程是放在雲中的最佳候選人,以及哪些雲服務應該在現有或新出現的SOA中被抽象。
所以,你可以將雲作為額外運行(簡單地說就是放置)應用、過程的平臺。 其優點是你不需要在資料中心中佈置一台安裝了豐富軟體的伺服器,並雇用一些專業人士對它進行維護。
雖然企業IT對於雲計算的態度不是非常放心,這也是可以理解的。 但是,我認為一旦我們允許雲獲得更大的活動空間,許多雲計算資源實際上能夠比預置型資源和設施提供更好的服務,其中包括節約成本、提高效率和訪問成千上萬的動態Web發佈資源。
人們對於雲計算的興趣也將大大推動人們對於SOA的興趣,它不僅僅是作為一種機制能夠帶來更多的重用性和靈活性,而且還能夠讓使用者找出哪些資源應該駐留在本地,哪些資源應該放在雲中。
好的SOA會導致一個好的雲計算策略,進而會降低成本,增強企業計算的靈活性。