|
InfoQ于4月23日在北京組織了主題為“企業(yè)架構(gòu)在互聯(lián)網(wǎng)環(huán)境下的挑戰(zhàn)”的Oracle技術(shù)沙龍。“云計算與SOA有什么區(qū)別?”這是Oracle講師做完企業(yè)私有云PaaS解決方案的講演后,提問環(huán)節(jié)中觀眾提出的第一個問題。回答這樣的問題是頗具挑戰(zhàn)性的,不同背景的人會有不同的理解,也不是一兩句話能夠解釋清楚的。我個人的職業(yè)經(jīng)歷正好和SOA、云計算有很大的關(guān)系,因此希望和大家分享下我個人對這兩者及企業(yè)軟件領(lǐng)域的一些看法和理解。
過熱(Hype)中的云計算
云計算起源于大型互聯(lián)網(wǎng)企業(yè),成本和指數(shù)級的業(yè)務(wù)增長壓力使他們非常關(guān)注于IT資源的利用率和應(yīng)用的可擴展性。云計算動態(tài)的、可伸縮的、基于互聯(lián)網(wǎng)的IT服務(wù)交付模式很快產(chǎn)生共鳴,得到政府、企業(yè)和IT軟硬件廠商等的一致認(rèn)同。大家一致認(rèn)為云計算將是繼PC革命、互聯(lián)網(wǎng)革命之后的第三次IT革命。
然而,在Gartner 2010 Hype Cycle(下圖)上,云計算位于炒作期的頂峰,而SOA早在2009年就已經(jīng)位于成熟期,更不在2010的圖上。對于SOA來說,人們已經(jīng)不再談SOA是什么、能做什么、怎么落地,而是談?wù)揝OA的最佳實踐。對于經(jīng)歷過SOA潮流的人來說,應(yīng)該會有非常深的體會。
圖片來源:Gartner 2010 Hype Cycle (如果看不懂Hype Cycle這個圖,請看這篇文章)
面向企業(yè)的云計算解決方案,特別面向企業(yè)的私有云PaaS產(chǎn)品和解決方案,仍處于創(chuàng)新(研發(fā))和市場整固階段,離進入主流應(yīng)用階段仍有相當(dāng)?shù)木嚯x。Oracle的現(xiàn)有私有云PaaS解決方案本質(zhì)上是對已有產(chǎn)品如Fusion中間件及Oracle數(shù)據(jù)庫等的重新包裝,宣傳和搶占市場的意義更大一些。這一套東西同樣也是構(gòu)成Oracle SOA解決方案的根基。這就不難理解為什么人們聽完講演后會提出“Oracle的云計算和SOA有什么區(qū)別?”這樣的問題。
如果想更深入理解SOA和云計算的區(qū)別和共同點的話,需要深入分析企業(yè)IT問題的根源,以及SOA和云計算所要去解決的問題和所能帶來的價值。
企業(yè)IT架構(gòu)面臨的核心問題
企業(yè)軟件和互聯(lián)網(wǎng)有很多差異,本質(zhì)的區(qū)別在于企業(yè)必須直面其“遺留系統(tǒng)(Legacy Apps)”,企業(yè)必須保證其核心應(yīng)用系統(tǒng)的穩(wěn)定,導(dǎo)致其核心應(yīng)用系統(tǒng)的生命周期會很長。所以,企業(yè)面臨的核心問題如何解決長期以來形成的“煙囪式(Silo)的企業(yè)計算環(huán)境”,如下圖所示:
煙囪式的企業(yè)計算環(huán)境和IT建設(shè)存在如下問題:
- 不同的應(yīng)用系統(tǒng)擁有不同的基礎(chǔ)設(shè)施(硬件)和應(yīng)用基礎(chǔ)設(shè)施(中間件);
- 每個新應(yīng)用都要建設(shè)一個新“煙囪”,建設(shè)周期長;
- 基于峰值規(guī)模設(shè)計,系統(tǒng)資源利用率低;
- 擴展困難;
- 沒有統(tǒng)一的技術(shù)標(biāo)準(zhǔn),運維成本高;
在云計算概念普及之前,企業(yè)已經(jīng)在嘗試解決這個問題,解決的思路是:
- 在基礎(chǔ)設(shè)施層:虛擬化。利用虛擬化的基礎(chǔ)設(shè)施提高物理資源的利用率和供給速度。
- 在應(yīng)用基礎(chǔ)設(shè)施層:SOA化。
- 在應(yīng)用層:集中化。比如原來是一個地市分公司建設(shè)一套OA系統(tǒng),后來是整個省公司只建設(shè)一套OA系統(tǒng);原來結(jié)算在每個省公司進行,后來全部集中在集團處理。
我們來分析一下SOA化。SOA之前,企業(yè)應(yīng)用集成的方式是EAI,但是由于EAI缺乏統(tǒng)一的標(biāo)準(zhǔn),集成完后又產(chǎn)生了新的孤島。我們來看看圍繞SOA的一些關(guān)鍵字,就不難看出SOA與傳統(tǒng)EAI的區(qū)別,這些關(guān)鍵字是SOAP、Web Service、服務(wù)、互操作、重用、ESB、服務(wù)編排、BPM、復(fù)合應(yīng)用、業(yè)務(wù)敏捷等。因此SOA的目標(biāo)是使IT基礎(chǔ)架構(gòu)更加靈活并且可重用,以最終實現(xiàn)業(yè)務(wù)敏捷性。
我們再看看圍繞云計算的一些關(guān)鍵字,這些關(guān)鍵字是多租戶、共享的資源池、彈性、動態(tài)伸縮、自服務(wù)、按需使用、基于InterNET、快速供應(yīng)、IT資源利用率等。企業(yè)利用云計算進一步地去解決它所面臨的核心問題,但主要目標(biāo)是提升IT資源的利用率、降低IT成本,促進企業(yè)IT建設(shè)從粗曠型方式到集約型方式的轉(zhuǎn)變。云計算出現(xiàn)后,企業(yè)解決煙囪式問題的思路是:
- 在基礎(chǔ)設(shè)施層:從虛擬化進一步擴展到IaaS。相比于虛擬化,IaaS增加了共享的資源池、自服務(wù)及統(tǒng)一的管理、監(jiān)控和計量。
- 在應(yīng)用基礎(chǔ)設(shè)施層:基于SOA架構(gòu)風(fēng)格上逐步將應(yīng)用遷移到PaaS平臺上。從技術(shù)上講,SOA的核心Building Block如ESB、BPM中間件是位于應(yīng)用基礎(chǔ)設(shè)施這層,因此SOA與PaaS之間的對比或許更加合理。下面會對這兩者之間的關(guān)系進行分析。
- 在應(yīng)用層:企業(yè)會考慮更多地直接使用一些SaaS應(yīng)用。
PaaS就是云環(huán)境中的應(yīng)用基礎(chǔ)設(shè)施,也就是中間件,因此PaaS也可以說是中間件即服務(wù),Middleware as a service。中間件的類型非常多,事務(wù)型中間件、消息中間件、遠(yuǎn)程過程/對象調(diào)用中間件、應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器、ESB、BPM等等。在傳統(tǒng)On-premise部署方式下用到的中間件在云部署下也是要用到的。Gartner把PaaS分成兩類,APaaS(application platform as a service)和IPaaS(integration platform as a service)。APaaS主要為應(yīng)用提供運行環(huán)境和數(shù)據(jù)存儲,能夠?qū)n-premise下部署的簡單三層架構(gòu)的應(yīng)用直接部署到APaaS;IPaaS主要用于集成和構(gòu)建復(fù)合應(yīng)用。
鑒于企業(yè)現(xiàn)有IT的復(fù)雜性及目前PaaS平臺的能力,是不可能將所有On-premise方式部署的應(yīng)用一次性部署到云端的,因此On-premise、私有云、公有云將在很長時間內(nèi)共存。在這種情況下,SOA架構(gòu)風(fēng)格能夠非常好的支持On-premise、私有云、公有云的共存,如下圖所示:
企業(yè)IT架構(gòu)的演進
本文并不想直接去回答云計算、PaaS和SOA的關(guān)系和區(qū)別。我想用下面的這面這張企業(yè)架構(gòu)演進圖來作為這篇文章的總結(jié),希望以此來給大家的一些啟發(fā),使得大家等夠更多地從技術(shù)演進的歷史來理解新事物。
從圖中我們可以清楚看到企業(yè)架構(gòu)在大型機時代、客戶機-服務(wù)器時代、互聯(lián)網(wǎng)時代和云計算時代的演進過程,以及每次演進的業(yè)務(wù)驅(qū)動力和技術(shù)驅(qū)動力。
從大型機時代物理上的集中,到云計算時代云端的集中,似乎是一個輪回……
關(guān)于作者
阮志敏,企業(yè)級PaaS平臺CloudTao創(chuàng)始人,長期專注于企業(yè)軟件領(lǐng)域,同時深受互聯(lián)網(wǎng)技術(shù)影響,曾在CORDYS中國,摩托羅拉和惠普中國任職。他的個人博客是:http://www.cloudtao.org/external/blog/taoofcloud;新浪微博是:http://weibo.com/taoofcloud。
it知識庫:云計算與SOA之我見,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。