原文地址:http://www.lupaworld.com/149890/viewspace_42692.html
最近,大公司如MS、Google、IBM等都在炒作一個概念就是云計算,如IBM跟歐盟 合作開展云計算,歐盟撥款1.7億萬歐元;Google與IBM
聯合力推云計算模式;Yahoo! 也把寶押在了云計算上;我國也在無錫
跟IBM公司聯合建立了一個云計算中心;有人說微軟收購Yahoo!一個重要的考慮就是在Yahoo在云計算方面的領先地位,多少有點兒道理。那么,什么是云計算哪?我看到有一位推廣自由開源的老先生把云計算(Cloud
Computing)翻譯成“云霧計算”著實是可笑,好多網友也在問什么是云計算,什么是霧計算,說明好多人對于云計算是一頭霧水。云計算可不是“云雨”,可不是云山霧罩。
“云計算”(Cloud Computing)是分布式處理(Distributed Computing)、并行處理(Parallel
Computing)和網格計算(Grid
Computing)的發展,或者說是這些計算機科學概念的商業實現。許多跨國信息技術行業的公司如IBM、Yahoo和Google等正在使用云計算的概念兜售自己的產品和服務。云計算這個名詞可能是借用了量子物理中的“電子云”(Electron
Cloud),強調說明計算的彌漫性、無所不在的分布性和社會性特征。量子物理上有“電子云(electron
cloud)”,在原子核周圍運動的電子不是一個經驗世界的軌道例如像天體一樣的運行軌道,而是彌漫空間的、云狀的存在,描述電子的運動不是牛頓經典力學而是一個概率分布的密度函數,用薛定諤波動方程來描述,特定的時間內粒子位于某個位置的概率有多大,這跟經典力學的提法完全不同。電子云有以下特性,概然性、彌漫性、同時性等等,云計算可能的確是來自電子云的概念,前今年就有所謂“無所不在的計算”,IBM有一個無所不在的計算叫“Ubiquitous
“,MS(Bill)不久也跟著提出一個無所不在的計算“Pervade“,現在人們對無所不在的計算又有了新的認識,現在說是”Omnipresent
“。但是,云計算的確不是純粹的商業炒作,的確會改變信息產業的格局,現在許多人已經用上了Google Doc和Google
Apps,用上了許多遠程軟件應用如Office字處理而不是用自己本地機器上安裝這些應用軟件,以后誰還會花錢買Office軟件哪?還有許多企業應用如電子商務應用,例如要寫一個交易程序,Google的企業方案就包含了現成的模板,一個銷售人員根本沒學習過Netbeanr也能做出來。這種計算和產業動向是符合開源精神的,符合SaaS(Software
as a
Service)趨勢。現在有這樣的說法,當今世界只有五臺計算機,一臺是Google的,一臺是IBM的,一臺是Yahoo的,一臺是Amazon的,一臺是微軟的,因為這五個公司率先在分布式處理的商業應用上捷足先登引領潮流。Sun公司很早就提出說“網絡就是計算機”是有先見之明的。
有以下五個主要原因使得分布式計算必然會越來越普遍,逐漸發展成主流的計算模式而取代集中式的大型計算機:
- 現在分布式系統的第一個原因就是因為他具有比集中式系統更好的性能價格比。你不要花幾十萬美元就能獲得高效能計算。
- 多數應用本身就是分布式的。如工業企業應用,管理部門和現場不在同一個地方。
- 高可靠性。冗余不僅是生物進化的必要條件,而且也是信息技術。現代分布式系統具有高度容錯機制,控制核反應堆主要采用分布式來實現高可靠性。
- 可擴展性。買一臺性能更高的大型機,或者再買一臺性能相同的大型機的費用都比添加幾臺PC的費用高得多。
- 高度靈活性。能夠兼容不同硬件廠商的產品,兼容低配置機器和外設而獲得高性能計算。
粗略地計算,目前的個人計算機每個CPU芯片的處理能力是200MIPS,就是每秒種執行
按照計算機操作系統的宗師Andrew
S.
Tanenbaum(AST)給分布式系統的的定義:“分布式系統是這樣的系統,它運行在不具有共享內存的多臺機器上,但在用戶的眼里卻像是一臺計算機”。(引自《現代操作系統》,機械工業出版社,1999年中文版)。它的目標是讓每個用戶感覺聯網的計算機是一個分時系統——就像使用個人計算機一樣
——而不是一個由許多計算機聯合起來的集體,即使由五個節點組成的分布式系統也應該讓用戶感覺自己是在使用一臺價值20萬美元的大型計算機,唯一不尋常的感覺是處理速度提高了許多,別的沒有什么不同。例如,這里有一個簡單的例子,在機器A的用戶要使用安裝在機器B上用戶的目錄里的文件,A用戶要使用遠程登錄命令rlogin
B登錄到機器B的目錄上,那么這就不是一個真正的分布式系統,因為用戶A意識到了另外一臺機器的存在,分布式系統必須要做到,用戶A登錄到一個目錄上的時候不知道自己是在本地機器上還是在遠程機器上的目錄上,對于用戶A來說機器B是透明的,這就是分布式系統設計時考慮的“透明性”要求。其他有關的問題包括:分布式文件系統的問題,目錄和文件訪問機制以及一致性問題,分布式系統進程的通信問題等等。目前的云計算嚴格說還沒有到達真正的分布式計算的語義學水平。