云計算越來越受到企業的關注,并且嘗試部署云計算的企業也急劇上升,云計算已經成為最炙手可熱的新興技術。而大家對于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會導致一個好的云計算策略,進而會降低成本,增強企業計算的靈活性。