云計算(Cloud Computing) 云計算這個名詞來自于Google,而最早的云計算產品來自于Amazon。有意思的是,Google在2006年正式提出云計算這個名詞的時候,Amazon的云計算產品AWS(Amazon Web Service)已經正式運作差不多4年了。因此,有人認為,Google對云計算的最大貢獻是為它起了個好名字,Amazon才是云計算的真正開拓者。
云計算是一個新名詞,卻不是一個新概念。云計算這個概念從互聯網誕生以來就一直存在。很久以前,人們就開始購買服務器存儲空間,然后把文件上傳到服務器存儲空間里保存,需要的時候再從服務器存儲空間里把文件下載下來。這和Dropbox或百度云的模式沒有本質上的區別,它們只是簡化了這一系列操作而已。
云計算的意義并不在于它的概念,而在于它所代表的理念。這種全新的理念被稱作“X即服務”(X as a Service)。根據美國國家標準和技術研究院對云計算的定義,云計算可以分為三種:軟件即服務(Software as a Service,縮寫SaaS),平臺即服務(Platform as a Service,縮寫PaaS),基礎架構即服務(Infrastructure as a Service,縮寫IaaS)。
軟件即服務(Software as a Service,縮寫SaaS) 軟件即服務是普通消費者可以感知到的云計算,它的代表有Dropbox,還有國內用戶熟悉的百度云、騰訊微云等。這種云計算最大的特征就是消費者并不購買任何實體的產品,而是購買具有與實體產品同等功能的服務。 以前,我們是花錢購買的是服務器上的存儲空間。現在,我們花錢購買的是Dropbox的存儲服務。表面上看,兩者沒有實際的區別。但是換一個角度來看,兩者卻完全不同。以前,我們花錢購買服務器上的存儲空間,假設是空間容量是10G,我們是真正的買到了服務器上的10G空間。如果我們不上傳文件的話,那么服務器上的這10G空間就是空的。現在,我們購買Dropbox的存儲服務,假設空間容量還是10G,我們卻并沒有真正的買到Dropbox服務器上10G的空間,我們買到的是10G空間的服務。也就是說,如果我們上傳文件,Dropbox會將文件分開放在任何地方的任何服務器上,如果我們不上傳文件,Dropbox的服務器上就根本沒有屬于我們的任何空間。
平臺即服務(Platform as a Service,縮寫PaaS) 與軟件即服務不同,平臺即服務是面向開發者的云計算。這種云計算最大的特征是它自帶開發環境,并向開發者提供開發工具包。它的代表有Google的GAE(Google App Engine),還有國內的百度的BAE、新浪的SAE等。 平臺即服務與軟件即服務之間可以相互轉換。如果是消費者,購買Dropbox的服務,那Dropbox就是軟件即服務。如果是開發者,利用Dropbox提供的開發包借助Dropbox的服務開發自己的服務,那么Dropbox本身就是平臺即服務,構筑在Dropbox之上的開發者的服務就是軟件即服務。 以前,開發者如果要搭建一個網站,需要做很多準備工作,比如購買服務器,安裝操作系統,搭建開發環境等等。現在,開發者如果購買平臺即服務云計算,就可以省去上面費時費力的準備工作,直接進行網站的開發。不僅如此,開發者還可以使用各種現成的服務,比如GAE會向開發者提供Google內部使用的先進的開發工具和領先的大數據技術。這一切都使得網站開發變得比以前輕松很多,這也是云計算時代互聯網更加繁榮的原因之一。
基礎架構即服務(Infrastructure as a Service,縮寫IaaS) 基礎架構即服務一般面向的是企業用戶,它的代表有Amazon的AWS(Amazon Web Service),還有國內的阿里云、盛大云等。 這種云計算最大的特征在于,它并不像傳統的服務器租賃商一樣出租具體的服務器實體,它出租的是服務器的計算能力和存儲能力。AWS將Amazon計算中心的所有的服務器的計算能力和存儲能力整合成一個整體,然后將其劃分為一個個虛擬的實例,每一個實例代表著一定的計算能力和存儲能力。購買AWS云計算服務的公司就以這些實例就作為計量單位。 基礎架構即服務與平臺即服務有顯著的區別,基礎架構即服務提供的只有計算能力和存儲能力的服務,平臺即服務提供的除了計算能力和存儲能力的服務,還提供給開發者的完備的開發工具包和配套的開發環境。也就是說,開發者使用平臺即服務時,可以直接開始進行開發工作。而使用基礎架構即服務時,則必須先進行如安裝操作系統、搭建開發環境等準備工作。 基礎架構即服務是云計算的基石,平臺即服務和軟件即服務構建在它的上面,分別為開發者和消費者提供服務,而它本身則為大數據服務。
公有云(Public Cloud)和私有云(Private Cloud) 云計算有兩種主要的部署方式,公有云和私有云。 公有云,就是說它的服務器是部署在互聯網上的,人們可以通過互聯網訪問它。目前,大部分的云計算都是公有云。 私有云,就是說它的服務器是部署在防火墻內的局域網內,只有局域網內部的人才能訪問它。相比公有云,私有云需要由使用者自己搭建云計算的基礎架構,在獲得了更大的控制權的同時,也增加了開發難度。目前,業內主要的的解決方案是由美國國家航空航天局和Rackspace合作研發的OpenStack。通過OpenStack,任何人都可以自行建立和提供云計算服務。不過,OpenStack主要還是被用來在企業內部建立云計算。