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

今天跟大家講講雲計算、大數據和人工智能。

為什麼講這三個東西呢?因為這三個東西現在非常火,並且它們之間好像互相有關係:一般談雲計算的時候會提到大數據、談人工智能的時候會提大數據、談人工智能的時候會提雲計算……感覺三者之間相輔相成又不可分割。但如果是非技術的人員,就可能比較難理解這三者之間的相互關係,所以有必要解釋一下。

一、雲計算最初的目標

我們首先來說雲計算。雲計算最初的目標是對資源的管理,管理的主要是計算資源、網絡資源、存儲資源三個方面。

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

1

管數據中心就像配電腦

什麼叫計算、網絡、存儲資源?

比如你要買檯筆記本電腦,是不是要關心這臺電腦是什麼樣的CPU?多大的內存?這兩個就被我們稱為計算資源。

這臺電腦要上網,就需要有個可以插網線的網口,或者有可以連接我們家路由器的無線網卡。您家也需要到運營商比如聯通、移動或者電信開通一個網絡,比如100M的帶寬。然後會有師傅弄一根網線到您家來,師傅可能會幫您將您的路由器和他們公司的網絡連接配置好。這樣您家的所有的電腦、手機、平板就都可以通過您的路由器上網了。這就是網絡資源。

您可能還會問硬盤多大?過去的硬盤都很小,大小如10G之類的;後來即使500G、1T、2T的硬盤也不新鮮了。(1T是1000G),這就是存儲資源。

對於一臺電腦是這個樣子的,對於一個數據中心也是同樣的。想象你有一個非常非常大的機房,裡面堆了很多的服務器,這些服務器也是有CPU、內存、硬盤的,也是通過類似路由器的設備上網的。這時的問題就是:運營數據中心的人是怎麼把這些設備統一的管理起來的呢?

2

靈活就是想啥時要都有,想要多少都行

管理的目標就是要達到兩個方面的靈活性。

具體哪兩個方面呢?

舉個例子來理解:比如有個人需要一臺很小的電腦,只有一個CPU、1G內存、10G的硬盤、一兆的帶寬,你能給他嗎?像這種這麼小規格的電腦,現在隨便一個筆記本電腦都比這個配置強了,家裡隨便拉一個寬帶都要100M。然而如果去一個雲計算的平臺上,他要想要這個資源時,只要一點就有了。

這種情況下它就能達到兩個方面靈活性:

時間靈活性:想什麼時候要就什麼時候要,需要的時候一點就出來了;

空間靈活性:想要多少就有多少。需要一個太很小的電腦,可以滿足;需要一個特別大的空間例如雲盤,雲盤給每個人分配的空間動不動就很大很大,隨時上傳隨時有空間,永遠用不完,也是可以滿足的。

空間靈活性和時間靈活性,即我們常說的雲計算的彈性。而解決這個彈性的問題,經歷了漫長時間的發展。

3

物理設備不靈活

第一個階段是物理設備時期。這個時期客戶需要一臺電腦,我們就買一臺放在數據中心裡。

物理設備當然是越來越牛,例如服務器,內存動不動就是百G內存;例如網絡設備,一個端口的帶寬就能有幾十G甚至上百G;例如存儲,在數據中心至少是PB級別的(一個P是1000個T,一個T是1000個G)。

然而物理設備不能做到很好的靈活性:

首先是它缺乏時間靈活性。不能夠達到想什麼時候要就什麼時候要。比如買臺服務器、買個電腦,都要有采購的時間。如果突然用戶告訴某個雲廠商,說想要開臺電腦,使用物理服務器,當時去採購就很難。與供應商關係好的可能需要一個星期,與供應商關係一般的就可能需要採購一個月。用戶等了很久電腦才到位,這時用戶還要登錄上去慢慢開始部署自己的應用。時間靈活性非常差。

其次是它的空間靈活性也不行。例如上述的用戶需要一個很小很小的電腦,但現在哪還有這麼小型號的電腦?不能為了滿足用戶只要一個G的內存是80G硬盤的,就去買一個這麼小的機器。但是如果買一個大的,又會因為電腦大,需要向用戶多收錢,可用戶需要用的只有那麼小一點,所以多付錢就很冤。

4

虛擬化靈活多了

有人就想辦法了。第一個辦法就是虛擬化。用戶不是隻要一個很小的電腦麼?數據中心的物理設備都很強大,我可以從物理的CPU、內存、硬盤中虛擬出一小塊來給客戶,同時也可以虛擬出一小塊來給其他客戶。每個客戶只能看到自己的那一小塊,但其實每個客戶用的是整個大的設備上的一小塊。

虛擬化的技術使得不同客戶的電腦看起來是隔離的。也就是我看著好像這塊盤就是我的,你看著這塊盤就是你的,但實際情況可能我的這個10G和你的這個10G是落在同樣一個很大很大的存儲上。而且如果事先物理設備都準備好,虛擬化軟件虛擬出一個電腦是非常快的,基本上幾分鐘就能解決。所以在任何一個雲上要創建一臺電腦,一點幾分鐘就出來了,就是這個道理。

這樣空間靈活性和時間靈活性就基本解決了。

5

虛擬世界的賺錢與情懷

在虛擬化階段,最牛的公司是VMware。它是實現虛擬化技術比較早的一家公司,可以實現計算、網絡、存儲的虛擬化。這家公司很牛,性能做得非常好,虛擬化軟件賣得也非常好,賺了好多的錢,後來讓EMC(世界五百強,存儲廠商第一品牌)給收購了。

但這個世界上還是有很多有情懷的人的,尤其是程序員裡面。有情懷的人喜歡做什麼事情?開源。

這個世界上很多軟件都是有閉源就有開源,源就是源代碼。也就是說,某個軟件做的好,所有人都愛用,但這個軟件的代碼被我封閉起來,只有我公司知道,其他人不知道。如果其他人想用這個軟件,就要向我付錢,這就叫閉源。

但世界上總有一些大牛看不慣錢都讓一家賺了去的情況。大牛們覺得,這個技術你會我也會;你能開發出來,我也能。我開發出來就是不收錢,把代碼拿出來分享給大家,全世界誰用都可以,所有的人都可以享受到好處,這個叫做開源。

比如最近的蒂姆·伯納斯·李就是個非常有情懷的人。2017年,他因“發明萬維網、第一個瀏覽器和使萬維網得以擴展的基本協議和算法”而獲得2016年度的圖靈獎。圖靈獎就是計算機界的諾貝爾獎。然而他最令人敬佩的是,他將萬維網,也就是我們常見的WWW技術無償貢獻給全世界免費使用。我們現在在網上的所有行為都應該感謝他的功勞,如果他將這個技術拿來收錢,應該和比爾蓋茨差不多有錢。

開源和閉源的例子有很多:

例如在閉源的世界裡有Windows,大家用Windows都得給微軟付錢;開源的世界裡面就出現了Linux。比爾蓋茨靠Windows、Office這些閉源的軟件賺了很多錢,稱為世界首富,就有大牛開發了另外一種操作系統Linux。很多人可能沒有聽說過Linux,很多後臺的服務器上跑的程序都是Linux上的,比如大家享受雙十一,無論是淘寶、京東、考拉……支撐雙十一搶購的系統都是跑在Linux上的。

再如有Apple就有安卓。Apple市值很高,但是蘋果系統的代碼我們是看不到的。於是就有大牛寫了安卓手機操作系統。所以大家可以看到幾乎所有的其他手機廠商,裡面都裝安卓系統。原因就是蘋果系統不開源,而安卓系統大家都可以用。

在虛擬化軟件也一樣,有了VMware,這個軟件非常貴。那就有大牛寫了兩個開源的虛擬化軟件,一個叫做Xen,一個叫做KVM,如果不做技術的,可以不用管這兩個名字,但是後面還是會提到。


分享到:


相關文章: