雲端計算、大資料和人工智慧有什麼區別?理清楚其實並不難

千鋒雲端計算發表於2019-07-02

兼具經濟效益與情懷的雲端計算;努力把資訊變為智慧的大資料;模擬人類大腦工作方式,學會推理的人工智慧。三個從出身開始就註定“量子糾纏”的夥伴,他們之間相親相愛,相輔相成的跌宕故事,獻給非專業技術背景,但是需要了解行業的你。




今天跟大家講講雲端計算、大資料和人工智慧。這三個詞現在非常火,並且它們之間好像互相有關係。


一般談雲端計算的時候會提到大資料、談人工智慧的時候會提大資料、談人工智慧的時候會提雲端計算……感覺三者之間相輔相成又不可分割。


但如果是非技術的人員,就可能比較難理解這三者之間的相互關係,所以有必要解釋一下。


一、雲端計算最初的目標


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


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,如果不做技術的,可以不用管這兩個名字,但是後面還是會提到。




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


要說虛擬化軟體解決了靈活性問題,其實並不全對。因為虛擬化軟體一般建立一臺虛擬的電腦,是需要人工指定這臺虛擬電腦放在哪臺物理機上的。


這一過程可能還需要比較複雜的人工配置。所以使用 VMware 的虛擬化軟體,需要考一個很牛的證書,而能拿到這個證書的人,薪資是相當高,也可見其複雜程度。


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


這一方面會影響時間靈活性:雖然虛擬出一臺電腦的時間很短,但是隨著叢集規模的擴大,人工配置的過程越來越複雜,越來越耗時。


另一方面也影響空間靈活性:當使用者數量多時,這點叢集規模,還遠達不到想要多少要多少的程度,很可能這點資源很快就用完了,還得去採購。


所以隨著叢集的規模越來越大,基本都是千臺起步,動輒上萬臺、甚至幾十上百萬臺。如果去查一下 BAT,包括網易、谷歌、亞馬遜,伺服器數目都大的嚇人。


這麼多機器要靠人去選一個位置放這臺虛擬化的電腦並做相應的配置,幾乎是不可能的事情,還是需要機器去做這個事情。


人們發明了各種各樣的演算法來做這個事情,演算法的名字叫做排程(Scheduler)。


通俗一點說,就是有一個排程中心,幾千臺機器都在一個池子裡面,無論使用者需要多少 CPU、記憶體、硬碟的虛擬電腦,排程中心會自動在大池子裡面找一個能夠滿足使用者需求的地方,把虛擬電腦啟動起來做好配置,使用者就直接能用了。


這個階段我們稱為池化或者雲化。到了這個階段,才可以稱為雲端計算,在這之前都只能叫虛擬化。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2649351/,如需轉載,請註明出處,否則將追究法律責任。

相關文章