5月24日,第四屆云計算大會第二日,“第四屆中國云計算大會”以“發(fā)揮示范引領作用,推動云計算創(chuàng)新實踐”為主題,以云計算應用與實踐經驗為主要內容,以“云計算示范應用案例”系列發(fā)布為突出亮點,以行業(yè)主管領導和業(yè)界精英為主角,以行業(yè)專家學者為智庫,預計參會者將遠超2011年第三屆中國云計算大會6100人次的規(guī)模。
會上,中國電子學會云計算專委會委員、友友系統(tǒng)CEO姚宏宇博士發(fā)表了講話,以下為演講內容:
姚宏宇:各位領導、專家和同行,大家下午好!我今天報告題目是“基于云計算技術的新一代企業(yè)信息系統(tǒng)基礎架構”,前面兩年是我們在一些大型企業(yè)的實踐經驗。我今天跟很多人開玩笑說,我已經是四朝元老了,因為我從第一屆云計算大會就開始參與。講了三年,第四年該講什么?遵照我以前的慣例,公司的東西我講得少一點,技術層面的東西我會講多一點,今天我還是從技術角度來講云計算這個問題。
首先,現在云計算技術其實是有很多的說法。因為我做這個事情比較長,大概總結了一下,現在主要的流派淵源。不是說這里面點的公司就是唯一的,只是說有這么幾種做法,在目前的基礎架構來說。第一個,大家形成了共識,就是說云計算是從互聯網公司發(fā)源出來的,互聯網公司里面,我認為Google、雅虎和亞馬遜這三家公司目前還是最前列的。第一個Google派別,大家讀了他2003年的幾篇文章,大概就規(guī)劃出云計算平臺的架構,這個平臺的特性早期是以搜索為中心,所以整個設計都是圍繞搜索業(yè)務來設計的。據說,從前年開始,Google也開始上線他的第二代系統(tǒng),估計再過兩年,他又該發(fā)表文章,大家又可以學到新的東西了。雅虎是我第一家工作的公司,他的云平臺和Google的區(qū)別,雅虎在早期的時候,他上面有互聯網上各種各樣的應用,所以他建的云平臺必須滿足幾百種、甚至上千種不同應用的需求。亞馬遜有點混合,他上面既有EC2或者S3的服務,用了一些虛擬化的技術,用了一些分布式文件系統(tǒng)的技術,但是他的主營業(yè)務電子商務反而有他自己的特點,因為他最主要是學院派,他原來研究的方向是可靠網絡的通信,所以他們那邊整個設計會偏向網絡。傳統(tǒng)的IT企業(yè),其實五年之前,包括IBM、包括甲骨文、VMwave都沒有提虛擬化,IBM和甲骨文是傳統(tǒng)架構的統(tǒng)治者,我覺得目前感覺上是以保護他現有市場更偏重一點,所以賣的還是以他原有的產品為主,甲骨文可能在這方面走得更快一點。
回過頭來說說我們的經驗,雖然我們的公司比較小,但是做過幾個比較龐大的系統(tǒng),包括幾個很大的民營企業(yè)的IT系統(tǒng),包括一個很大的部委的IT系統(tǒng),包括一些互聯網公司的IT系統(tǒng)。真正把他外面應用程序剝離開,其實面臨的是三個挑戰(zhàn),大用戶、大數據、大系統(tǒng)。云計算我覺得從誕生開始,就是為了解決因為互聯網進來,網絡的廣泛使用產生了巨大量的應用、巨大量的數據和巨大量的系統(tǒng),云計算技術的產生和延展,到目前為止,我覺得未來再過五年,估計主要的目的也是為了解決這三個最核心的問題。
從云的角度來說,因為我們是做基礎技術架構的,做基礎軟件,不做服務。所以,我們有機會接觸各種各樣不同的做云的公司和機構,其中有專門做公眾服務云的,我們叫做2C,也有專門做企業(yè)的,就像中興的羅總提到的商旅e通。我們現在碰到最廣泛的需求是建立企業(yè)內部的私有云,來為企業(yè)內部和后續(xù)業(yè)務發(fā)展做支撐。他們的共性需求,我整理了四個方面,第一個方面是統(tǒng)一的資源聚合、管理和調度,按照需求的邏輯分離規(guī)劃,提供方便服務業(yè)務水平的區(qū)分,面向服務的自動化、規(guī)劃、延展功能,希望采取標準協(xié)同,讓企業(yè)內部各個組件可以相互工作。自動化運維,尤其是最近一年,我們碰到的自動化運維需求非常多,就是在系統(tǒng)管理和調度上,一般企業(yè)都不要說非常小的企業(yè),上了大概兩個數據中心運維管理對他來說就是一個巨大的痛點,所以我覺得這方面有很多的空間讓軟件服務商來增長,但是你一定要符合企業(yè)的具體需求。
另外一點,就是對分布式系統(tǒng)的資源聚合和協(xié)同,海量非結構化數據資源的存儲,剛才好多專家已經提到了?,F在我已經不吃驚了,比較吃驚的就是關于數據庫集群的管理和使用,現在反而是一個比較大的熱點,很多公司都很需要?,F在叫他一步就跳到純粹的云計算架構上去,很多企業(yè)會猶豫,他希望通過中間過渡的方式,這種需求量比較大。另外一個就是分布式計算,假如很多人做云計算,可能聽說過一種計算模型,現在在我們真正實際在企業(yè)經驗中發(fā)現,很多企業(yè)其實需要遠遠超過能夠解決問題的不同模型,尤其是數據內部分析的需求。
在一些公有云的體系里,他們對多租戶管理體系、模塊化敏捷應用、多模式、多維度的服務交互手段比較關注。但是,相對來說,我們公司會做得少一點,因為我們目前碰到的客戶主要是私有云。最后一個是在跟業(yè)務對接的時候,統(tǒng)一支撐平臺各層面,提供標準應用的應用開發(fā)接口。各業(yè)務系統(tǒng)之間通過訪問實現數據交換,一體化管理??傮w來說,他們是希望一個非常彈性的架構,而不是說我現在給你定死了你就這么用,他是希望以后能夠可持續(xù)發(fā)展,他希望不僅是你給我提供一個平臺,我能夠在上面做事情,假如我有需求,我自己能夠往這個平臺增加新的東西。
我們碰到的這些企業(yè)的具體需求,歸總起來,從技術的角度來說,有彈性、透明、通用、動態(tài)這四個最基本的特性。我知道大家可能已經聽得很多了,但是真正理解什么叫彈性、透明、通用、動態(tài),其實我發(fā)現還是不太多。像彈性,要解決達到云計算平臺的彈性功能,從技術角度來說,最核心的就是控制損耗,所謂的彈性就是你建了云平臺以后,它可以無限擴張,在擴張的同時,你希望增加一個硬件,這個能力就增加一分。其實大家在實踐中做寫代碼的話,就知道這個非常難。怎么樣控制損耗,隨著硬件和基礎設施的增加,你的整個云平臺的設施能夠增加。第二個要做到彈性,你必須要有狀態(tài)感知和反饋機制,你知道哪個地方多了新資源,哪個地方資源下線了,你才可以真正做到彈性控制。第三,有了這個能力擴展以后,但是用戶在不同的時間點,不同的應用點,不同的業(yè)務系統(tǒng),每時每刻他的需求是變化的,那你怎么做到動態(tài)均衡?光是一個簡單的負載均衡很難達到這個點,怎么做到動態(tài)的?整個平臺能力針對不同的應用系統(tǒng)的需求來進行變化。
我這里簡單介紹了一下支撐云平臺的彈性,其實在技術上有三個關鍵技術點大家一定要解決。解決透明的話,像容錯、互操作性和自管理,這個說起來簡單,其實非常費勁。我可以給大家舉一個例子,像分布式存儲,大家接觸得非常多。分布式存儲里面最核心的一個問題,是我下面的存儲結點出了問題,我的整個系統(tǒng)的業(yè)務不受任何影響?,F在假如一個結點出問題,其實比較好解決,像Google就可以解決,但是早期是不能解決的,現在假如把它的主控結點做一個熱備的話,任何一個結點是可以做到這一點的。假如說一千臺機器的話,這些就跟傳統(tǒng)的設備沒什么區(qū)別。假如要求你整個機器范圍能夠讓他10%的結點都失效,你還能不能保證整個系統(tǒng)往下運行?其實這是非常有挑戰(zhàn)的事情。[page]
通用,無論從平臺層面,現在有很多云計算平臺只適用于某一種特定的硬件和組織系統(tǒng),我覺得這是不能真正定義為云平臺的,通用是云平臺最核心的要求,就是我可以把這個軟件架在不同的硬件和系統(tǒng)上,適應不同的應用。
動態(tài)我剛才也提了,像SOA架構、動態(tài)調配,這也是保證云平臺動態(tài)特性最重要的技術點。
雖然寫得比較籠統(tǒng),我們友友系統(tǒng)在做的云計算平臺分了三層,為什么要這么定義呢?前面有幾位專家,包括浪潮的張總也把整個云計算平臺里面的特性劃分得很細,但其實你最后仔細想想,云計算最核心的內容是虛擬化,虛擬化不僅僅是像VMwave這樣把一臺機器虛擬成多臺的虛擬化,最核心的是把多臺虛擬成一臺的虛擬化。這個又要分好幾個層面,比如說最底下,我們說的聚合合作,其實最重要是對網絡和硬件層做虛擬化,讓所有跑在這個虛擬化平臺上的東西都能夠感知對方,無論你是一百個組件還是一百萬個組件,他們都能做協(xié)同,他們所交流的信息溝通才能順暢,這樣這一百萬個組件才能組織起來。在這個網絡虛擬化之上,我這里寫了兩個,管理加調度,存儲加索引,這里最主要的是存儲虛擬化,包括讓業(yè)務系統(tǒng)本身看不到到底是結構化數據還是非結構化數據,到底是數據庫還是文件系統(tǒng),業(yè)務系統(tǒng)不應該關注這些不必要的細節(jié),所以說從業(yè)務系統(tǒng)角度來說,你必須要做到讓他有一個存儲的一層中心進去以后,底下到底怎么實現的,到底用什么東西,他根本不需要關心。
管理和調度主要是對業(yè)務系統(tǒng),因為對絕大多數的IT系統(tǒng)來說,業(yè)務流程是一個很復雜的東西,業(yè)務流程在以前有很多做ERP的,像BPM流程管理,但是流程管理只是在業(yè)務邏輯上的流程管理,你怎么把它和RIT系統(tǒng)上的流程管理,包括我前面提到的動態(tài)、容錯、透明結合起來。所以,這個我們認為是在服務上的一個虛擬化。就是我用這個服務,然后這個服務是可以串聯起來的,但是服務底下依賴的所有東西都可以根據云平臺的特性,動態(tài)、透明。所以,底下兩層是對一個業(yè)務系統(tǒng)、一個IT系統(tǒng)所面臨的三個不同的層面,最底下是網絡,再上面是存儲,再上面是服務,這三個層面怎么樣做虛擬化的工作。這三個基礎打好以后,在上面再建大數據、大系統(tǒng)的管理平臺和處理平臺,相對來說就比較簡單,跟系統(tǒng)軟件和硬件就沒有關系了,只是一個算法的問題。
我在我們公司內部把這個稱之為放之四海而皆準的新一代信息系統(tǒng)架構的構建,我們目前碰到的絕大多數大型組織機構基本上可以分這七塊東西。中間通過分布式數據引擎和調度系統(tǒng)作為它的核心,黏合劑把它黏合起來。第一部分是高容錯、高性能的數據傳輸,在大規(guī)模分布式應用系統(tǒng)之間進行通信和協(xié)作。我雖然標在上面,其實它是整個系統(tǒng)里連貫使用的,所有在這個系統(tǒng)里跑的無論是硬件還是軟件,各個模塊之間進行交換、通信、管理、交流的主要管道,所以我把它叫做虛擬的網絡,它有點像網絡層一樣,把硬件設備連接在一起。
第二個核心部分,也是一個黏合劑,是底下粉紅色的部分,實現針對大規(guī)模系統(tǒng)的基于分布式工作流技術和策略引擎的復雜任務的定義,主要用于支撐大規(guī)模系統(tǒng)的自動化運維以及分布式計算框架的實現。有了這個東西以后,你就可以把業(yè)務系統(tǒng)層面的流程管理和IT系統(tǒng)的流程管理結合起來。
第三個部分是運維監(jiān)控管理系統(tǒng),這個部分主要是基于分布式工作流程和分布式策略引擎,主要是用于基礎設施管理平臺的快速構建,通過自動化方式進行大規(guī)模部署?,F在我們公司在碰到的案例中,目前來說作為一個商業(yè)最大的案例大概有1500個結點,大家知道,管1500個結點,假如人工去管的話,是多么痛苦的一件事情,包括上面的軟件分很多的群組,每一個群組使用的軟件角色走不一樣,所以一定得用云計算大系統(tǒng)管理方式對進行管理。
這三個相對于是核心基礎支撐的IT運行體系,下面是跟業(yè)務直接相關的,比如說我們現在碰到很多的面臨數據采集系統(tǒng),這個要是設計好的話,也是一個很有挑戰(zhàn)的事情。比如說從去年開始到今年在硅谷炒得比較熱的大數據概念,其實他面臨的第一個概念,就是怎么樣從幾十、幾百、幾千甚至幾十萬的層面上把我需要的數據采集過來。目前市場上并沒有一個普世性的通用產品,通常需要定制開發(fā)。
數據存儲系統(tǒng)現在慢慢變成了所有企業(yè)IT的核心,其實所有的企業(yè)IT系統(tǒng),從以前以計算能力為核心,變成了以數據管理為核心,所以這是所有的企業(yè)IT系統(tǒng)面臨最核心的問題。關系型數據庫集群通過集群化的關系型數據庫,實現海量強關系型結構化數據的存儲和快速訪問,并對數據分析系統(tǒng)進行很好的支撐。關聯關系比較緊密的數據庫,還是以傳統(tǒng)的方式處理比較合適。其實現在數據最多的,我發(fā)現能夠調度出來的是分布式實施數據庫,包括你現在做大數據分析很多采集的數據,他的實效性要求比較強,同時他又是結構化,雖然不像關系型數據庫這樣強結構的,但是是弱結構的數據,這種量會越來越大,而且發(fā)現智慧、發(fā)現智能,很多數據是從這里面分析出來的。
雖然有了這個數據存儲系統(tǒng),但是你真正要讓它變得有價值,你必須有一個比較靈活的、能夠支持多種計算模型的數據分析系統(tǒng)。這里,我也提到了有從數據準備到數據挖掘、到結果表現,等等這些東西,最后真正核心需要的是一個類型于能夠調度IT資源、調度計算方式的分布式工作流和策略引擎。
后面兩種一個是對數據訪問層和數據服務層,主要是對數據存儲具體細節(jié)進行虛擬化,這個在企業(yè)應用上快速讓現有的企業(yè)應用適合新環(huán)境的變化,是非常非常關鍵的。我們在跟很多企業(yè)合作,幫助他們建立云平臺,或者幫助他們解決現在IT中遇到的問題,這一層要真正做好是非常難的,因為要根據每個企業(yè)所處的行業(yè)和業(yè)務系統(tǒng)不一樣,怎么樣設計成適合那個企業(yè)的數據抽象層和訪問層。最后是一個數據交付框架,在服務層面做虛擬化。
剛才講的是我們在這兩年的實踐中碰到的很多企業(yè)的IT系統(tǒng)給大家做了解釋,從我們真正的實踐中發(fā)現,因為我們友友雖然是做基礎軟件的,但是我們前幾年的主要業(yè)務是集中在數據的處理、管理、存儲等等方面,所以我們對企業(yè)的數據應用變化非常敏感。現在我們發(fā)現,整個領域叫事務型應用、通用業(yè)務和數據處理應用全部是由數據庫解決的?,F在我們發(fā)現在企業(yè)里,真正需要事務型應用的越來越少,典型代表是什么呢?它對數據的鮮活性要求非常高,但是總體用戶數量和數據容量都不是太大,這種應用就比較適合用事務型應用,在事務型應用就比較適合用關系型數據庫。真正比較大的是通用型數據庫,比如說在數據庫應用里,你可能需要一毫秒做響應,在實時數據庫里,你可能一百個毫秒就可以了。但是它的數據流量會大大增加,基本上是3—4個數量級以上增加,這類應用里面,用傳統(tǒng)關系型數據庫就不適合了,用現在的一些新型的分布式數據庫這種弱結構的數據處理會比較合適。
最后一種叫離線的數據分析,我在雅虎的時候參與過Hadoop的設計。到目前為止,像Hadoop這一類整套云操作平臺還是適合用離線數據分析應用,數據性鮮活要求非常低,總用戶數量也非常低,但是數據的總容量可能跟前面相比,又有一個2—3個數量級的增加,這種情況可能比較適合做離線的數據分析,比較類型于Hadoop這樣的開源技術。
這張PPT中,我們現在看到的傳統(tǒng)業(yè)務應用架構和新一代業(yè)務應用架構的比較,在應用上、用戶訪問上、數據源上都發(fā)現了比較大的變化,適應新一代應用架構,目前你把它叫做云計算平臺也好,或者叫分布式計算也好,這一類新的技術體系慢慢會切入很多傳統(tǒng)業(yè)務架構中的核心部分。
最后是對新一代業(yè)務技術有幾點思考,一個是數據是企業(yè)的戰(zhàn)略資產,企業(yè)信息系統(tǒng)架構的發(fā)展重點從業(yè)務應用為核心轉變?yōu)闃I(yè)務數據為主線。這是我們看到的非常明顯的變化,尤其是在大型的企業(yè)里,比較市場化的企業(yè)里。
第二個,企業(yè)信息系統(tǒng)正在迅速演進為大規(guī)模復雜系統(tǒng),用系統(tǒng)工程的思路和方法論去解決其面臨的挑戰(zhàn)。換句話說,在處理以后大型系統(tǒng)、大型組織架構的IT系統(tǒng)上,一定要有整個系統(tǒng)的看法,而不是一個獨立的模塊。大家有興趣的話,我建議大家讀一下錢學森老先生的《系統(tǒng)工程論》,很有幫助。
第三個發(fā)現,是基于云計算的新一代企業(yè)信息系統(tǒng)在技術上具有一定的漸進性,在架構的思考和設計上具有很大的變革性。因為我老聽到有人問我,確實是原來接觸過一些大型的分布式處理系統(tǒng)的人,覺得云計算和以前的分布式處理系統(tǒng)沒有區(qū)別。其實我個人的觀點和實踐覺得,云計算整個技術最核心的是引入了一種組織機制,就是我剛才說的怎么把這么多從硬件層面開始到基礎軟件到業(yè)務系統(tǒng),甚至到管理、運營維護,所有復雜的點,通過一種組織型機制的變革,把它有機地組織起來,讓它能夠快速地適應現代業(yè)務系統(tǒng),快速地變化,業(yè)務數據量的不停增長。所以,在架構的思考和設計上,我覺得有很大的變革性,但是具體在這個變革性的基礎上,具體用哪一塊的技術,到目前為止,我看到絕大多數都是以前二三十年積累下來的東西,只不過是怎么樣來組織,這是一個新的挑戰(zhàn)。就跟以前得過諾貝爾獎金的生物學家說的,生命的本質不在于物質本身,而在于物質的組成。
最后一個就是,很多企業(yè)尤其是小企業(yè)來咨詢云計算平臺,尤其是現在這個東西比較熱,我們公司通常給他們的建議,就是說正確的使用正確的產品和工具,做正確的事情。首先,不是所有企業(yè)現在都需要自己來建云,或者甚至需要用的云平臺,每個企業(yè)需求不一樣。需要用的話,我也是建議假如有公有云服務,很遺憾的是中國的公有云服務到目前為止還是沒有很大的推廣。第二,就是你每個企業(yè)要根據自身的能力、資金實力和需求,來選定合適的東西,你可以選自己開發(fā),可以選開源產品,可以找專業(yè)公司幫你服務,總而言之,一定不要為了錯誤的原因去選擇使云計算。
{{item.content}}