科普文:雲計算、大數據和人工智慧(二)

6

虛擬化的半自動和雲計算的全自動

要說虛擬化軟件解決了靈活性問題,其實並不全對。因為虛擬化軟件一般創建一臺虛擬的電腦,是需要人工指定這臺虛擬電腦放在哪臺物理機上的。這一過程可能還需要比較複雜的人工配置。所以使用VMware的虛擬化軟件,需要考一個很牛的證書,而能拿到這個證書的人,薪資是相當高,也可見覆雜程度。

所以僅僅憑虛擬化軟件所能管理的物理機的集群規模都不是特別大,一般在十幾臺、幾十臺、最多百臺這麼一個規模。

這一方面會影響時間靈活性:雖然虛擬出一臺電腦的時間很短,但是隨著集群規模的擴大,人工配置的過程越來越複雜,越來越耗時。另一方面也影響空間靈活性:當用戶數量多時,這點集群規模,還遠達不到想要多少要多少的程度,很可能這點資源很快就用完了,還得去採購。

所以隨著集群的規模越來越大,基本都是千臺起步,動輒上萬臺、甚至幾十上百萬臺。如果去查一下BAT,包括網易、谷歌、亞馬遜,服務器數目都大的嚇人。這麼多機器要靠人去選一個位置放這臺虛擬化的電腦並做相應的配置,幾乎是不可能的事情,還是需要機器去做這個事情。

人們發明了各種各樣的算法來做這個事情,算法的名字叫做調度(Scheduler)。通俗一點說,就是有一個調度中心,幾千臺機器都在一個池子裡面,無論用戶需要多少CPU、內存、硬盤的虛擬電腦,調度中心會自動在大池子裡面找一個能夠滿足用戶需求的地方,把虛擬電腦啟動起來做好配置,用戶就直接能用了。這個階段我們稱為池化或者雲化。到了這個階段,才可以稱為雲計算,在這之前都只能叫虛擬化。

7

雲計算的私有與公有

雲計算大致分兩種:一個是私有云,一個是公有云,還有人把私有云和公有云連接起來稱為混合雲,這裡暫且不說這個。

私有云:把虛擬化和雲化的這套軟件部署在別人的數據中心裡面。使用私有云的用戶往往很有錢,自己買地建機房、自己買服務器,然後讓雲廠商部署在自己這裡。VMware後來除了虛擬化,也推出了雲計算的產品,並且在私有云市場賺的盆滿缽滿。

公有云:把虛擬化和雲化軟件部署在雲廠商自己數據中心裡面的,用戶不需要很大的投入,只要註冊一個賬號,就能在一個網頁上點一下創建一臺虛擬電腦。例如AWS即亞馬遜的公有云;例如國內的阿里雲、騰訊雲、網易雲等。

亞馬遜為什麼要做公有云呢?我們知道亞馬遜原來是國外比較大的一個電商,它做電商時也肯定會遇到類似雙十一的場景:在某一個時刻大家都衝上來買東西。當大家都衝上買東西時,就特別需要雲的時間靈活性和空間靈活性。因為它不能時刻準備好所有的資源,那樣太浪費了。但也不能什麼都不準備,看著雙十一這麼多用戶想買東西登不上去。所以需要雙十一時,就創建一大批虛擬電腦來支撐電商應用,過了雙十一再把這些資源都釋放掉去幹別的。因此亞馬遜是需要一個雲平臺的。

然而商用的虛擬化軟件實在是太貴了,亞馬遜總不能把自己在電商賺的錢全部給了虛擬化廠商。於是亞馬遜基於開源的虛擬化技術,如上所述的Xen或者KVM,開發了一套自己的雲化軟件。沒想到亞馬遜後來電商越做越牛,雲平臺也越做越牛。

由於它的雲平臺需要支撐自己的電商應用;而傳統的雲計算廠商多為IT廠商出身,幾乎沒有自己的應用,所以亞馬遜的雲平臺對應用更加友好,迅速發展成為雲計算的第一品牌,賺了很多錢。

在亞馬遜公佈其雲計算平臺財報之前,人們都猜測,亞馬遜電商賺錢,雲也賺錢嗎?後來一公佈財報,發現不是一般的賺錢。僅僅去年,亞馬遜AWS年營收達122億美元,運營利潤31億美元。

8

雲計算的賺錢與情懷

公有云的第一名亞馬遜過得很爽,第二名Rackspace過得就一般了。沒辦法,這就是互聯網行業的殘酷性,多是贏者通吃的模式。所以第二名如果不是雲計算行業的,很多人可能都沒聽過了。

第二名就想,我幹不過老大怎麼辦呢?開源吧。如上所述,亞馬遜雖然使用了開源的虛擬化技術,但云化的代碼是閉源的。很多想做又做不了雲化平臺的公司,只能眼巴巴的看著亞馬遜掙大錢。Rackspace把源代碼一公開,整個行業就可以一起把這個平臺越做越好,兄弟們大家一起上,和老大拼了。

科普文:雲計算、大數據和人工智能(二)

於是Rackspace和美國航空航天局合作創辦了開源軟件OpenStack,如上圖所示OpenStack的架構圖,不是雲計算行業的不用弄懂這個圖,但能夠看到三個關鍵字:Compute計算、Networking網絡、Storage存儲。還是一個計算、網絡、存儲的雲化管理平臺。

當然第二名的技術也是非常棒的,有了OpenStack之後,果真像Rackspace想的一樣,所有想做雲的大企業都瘋了,你能想象到的所有如雷貫耳的大型IT企業:IBM、惠普、戴爾、華為、聯想等都瘋了。

原來雲平臺大家都想做,看著亞馬遜和VMware賺了這麼多錢,眼巴巴看著沒辦法,想自己做一個好像難度還挺大。現在好了,有了這樣一個開源的雲平臺OpenStack,所有的IT廠商都加入到這個社區中來,對這個雲平臺進行貢獻,包裝成自己的產品,連同自己的硬件設備一起賣。有的做了私有云,有的做了公有云,OpenStack已經成為開源雲平臺的事實標準。

9

IaaS, 資源層面的靈活性

隨著OpenStack的技術越來越成熟,可以管理的規模也越來越大,並且可以有多個OpenStack集群部署多套。比如北京部署一套、杭州部署兩套、廣州部署一套,然後進行統一的管理。這樣整個規模就更大了。

在這個規模下,對於普通用戶的感知來講,基本能夠做到想什麼時候要就什麼什麼要,想要多少就要多少。還是拿雲盤舉例子,每個用戶雲盤都分配了5T甚至更大的空間,如果有1億人,那加起來空間多大啊。

其實背後的機制是這樣的:分配你的空間,你可能只用了其中很少一點,比如說它分配給你了5個T,這麼大的空間僅僅是你看到的,而不是真的就給你了,你其實只用了50個G,則真實給你的就是50個G,隨著你文件的不斷上傳,分給你的空間會越來越多。

當大家都上傳,雲平臺發現快滿了的時候(例如用了70%),會採購更多的服務器,擴充背後的資源,這個對用戶是透明的、看不到的。從感覺上來講,就實現了雲計算的彈性。其實有點像銀行,給儲戶的感覺是什麼時候取錢都有,只要不同時擠兌,銀行就不會垮。

10

總結

到了這個階段,雲計算基本上實現了時間靈活性和空間靈活性;實現了計算、網絡、存儲資源的彈性。計算、網絡、存儲我們常稱為基礎設施Infranstracture, 因而這個階段的彈性稱為資源層面的彈性。管理資源的雲平臺,我們稱為基礎設施服務,也就是我們常聽到的IaaS(Infranstracture As A Service)。


分享到:


相關文章: