云計算:SOA的“叛逆者”
全球金融危機給云計算帶來了更大的發展空間。“云計算能降低成本、加快企業IT實施、迅速擴展。”這個流行語似乎無處不在,至少廠商推銷自家的云計算產品時都是這樣表述的。
然而,開源SOA提供商MuleSource公司的聯合創辦人兼首席技術官Ross Mason卻覺得這樣描述云計算并不切合實際,他認為:“正如SOA當初因被廠商炒作,變得更像是一個營銷用語,而不是準確描述架構一樣;這一幕又將在2009年的云計算上重演,完全是重炒作、輕實用。”
看到這,也許那些對技術名詞極為敏感的人士們會問,“云計算與SOA之間有什么關系?為什么又把這兩種名詞放在一起呢?”
是的,云計算與SOA有著千絲萬縷的聯系,有人把云計算稱為SOA的“叛逆者”。
作為一種按需交付服務的商業模式,云計算為企業提供了一種快速部署和應用IT技術的方法。但它也給IT人員帶來了不小的麻煩。他們很長時間以來,一直致力于SOA的治理行動,多年來對Web服務環境實施生命周期管理的工作剛剛有了一點成績,如今又要對這些策略進行修改,以應對部署得越來越多的基于云計算的服務了。因為基于云計算的服務很可能根本不在他們的控制范圍之內。
從理論上講,“云”幾乎具有交付一切服務的能力,從應用軟件到中間件、再到應用平臺,從存儲、到流程處理再到硬件資源,都可以采用訂閱的方式按需交付。然而,在云計算的世界里,IT人員如何才能進行有效的管理呢?
“云”之所以引發了人們對IT治理的關心,是因為“云”讓我們把信任的邊界從企業內部擴展到企業以外。”換句話說,云讓SOA治理復雜化了。
一個新的問題是,如何把云服務與企業內部的應用整合起來?如果沒有有效的治理,任何人、任何時候,只要他愿意都可以部署一個新的云服務,他也能調用這個服務,或者能把這個服務集成到日趨復雜的消息系統中。另外,隨隨便便就部署的那些云服務也可能破壞業已建立的信任關系,然而這種信任關系,恰恰是生產性SOA環境的基礎。
SOA的最基本原則是,分布式應用環境必須與平臺無關,SOA治理的基礎設施也要遵循這一原則。比如,在純SOA環境中,外部的API應該與具體實現它的平臺無關。然而,率先體驗云計算的企業常常忽略這一原則,它們把自己的應用建立在一些公共云服務上,而很多服務采用的恰恰是專有的API、專有的開發工具、特殊的虛擬層和特殊的治理策略,雖然很多云服務為符合開放的SOA和Web2.0標準已經做了一定程度的修改,但似乎還不夠徹底。
其實,就企業部署云服務來說,最好的方法是有選擇性地外包一些特定的應用和基礎設施服務,而不是不分青紅皂白盲目跟風。因此,在云計算和SOA治理方面,企業首先要清楚自己的哪些服務可以由“云”來提供。
關于云計算與SOA的關系,更多的人愿意相信他們之間有著相互提攜的默契。
就目前而言,云計算技術幾乎沒有任何治理的概念,反觀SOA,它的治理技術已經相當成熟了,云計算可以在這方面好好借鑒SOA的經驗;除此之外,你可以用SOA思想來部署云計算架構,因為用戶需要將自己的應用擴展到防火墻之外,所以一個模塊化的架構在企業進行云計算服務部署時就顯得非常重要。
當然,SOA也能從云計算上獲益。未來,在“云”上提供SOA服務將會興起。它由于能節省人力成本、知識成本、設施成本而廣受對SOA有需求的中小企業歡迎。如今這種模式已經有國外的廠商開始嘗試,而國內,像普元軟件等SOA廠商也在探索這種模式
【編輯推薦】