tft每日頭條

 > 生活

 > 入門學習雲計算

入門學習雲計算

生活 更新时间:2024-12-23 05:31:57

本文筆者将根據自己入行一年來的經驗以及一些對于雲計算的思考,來給大家科普一下雲計算的一些知識。文章主要分為五個部分:雲計算的前身,數據中心的演變,AWS的潮流,對IAAS、PAAS、SaaS的介紹,以及公有雲、私有雲、混合雲等的介紹。

入門學習雲計算(我這樣看雲計算)1

在今天,如果說對于雲計算還一無所知,那可就真的out了。企業喊了這麼多年的“上雲運動”,那麼,雲的本質到底是什麼呢?

從2006年雲計算的概念被提出到今天,已經經過了十幾年,雲計算取得了飛速的發展與翻天覆地的變化,行業的蓬勃發展已經得到了諸多巨頭的青睐和垂涎,紛紛揮斥着巨資入場。2010年,全球雲計算市場規模僅683億美元,而到2020年,預計将突破4000億美元。

入門學習雲計算(我這樣看雲計算)2

而在雲計算行業稍顯弱勢的國内,以阿裡雲、騰訊雲和七牛雲等雲計算企業的也紛紛抓住時代脈搏,扛起了國内雲計算的大旗。阿裡雲的首吃螃蟹後成為阿裡巴巴集團核心業務,同時行業内孵化出的一些獨角獸“獨角獸”如七牛雲、ucloud等,也诏顯的國内雲計算市場的大有可為。

數據表明:2016年我國公有雲市場規模為215億,而這個數字,到2020年,預計達到1300 億元以上,年增長25%以上。

入門學習雲計算(我這樣看雲計算)3

本文旨在談談自己入行以來對雲計算行業的一點思考,以及一些不成熟的看法,難免有所疏漏,請各位見諒。

前文都是廢話,下面進入正文。

一、雲計算的前身

雲計算已經席卷而來,和人們現在的生活息息相關。

12306和雙11,這兩者我相信我國人民總要經曆過一者或全部。而針對雲計算的定義,為了讓更多的人理解雲計算到底是個什麼東東,各路科普人員也可謂是”費盡苦心“,然後就有了各種看似準确的解釋——如“水龍頭觀點論”、“葷段子觀點論”、“披薩觀點論”、“廚房觀點論”以及與時俱進的“共享出行觀點論”。

在接觸雲計算時,我們或多或少為了讓自己容易理解而使用這些觀點類(裝)比(逼)。一定程度上,這些觀點确實通俗易懂且形象,大家也可以自行網上了解這些觀點。

入門學習雲計算(我這樣看雲計算)4

而在我的理解中,私以為:雲計算是一種模型,即将計算、網絡和存儲虛拟化資源池以按需的方式提供給有需要的人。

雲計算并不是一蹴而就的,在雲計算誕生之前,其實很多雲計算相關技術都已經誕生,如:分布式計算、并行計算還有網格計算。

網格計算(英語:Grid computing):通過利用大量異構計算機(通常為台式機)的未用資源(CPU周期和磁盤存儲),将其作為嵌入在分布式電信基礎設施中的一個虛拟的計算機集群,為解決大規模的計算問題提供一個模型。

并行計算(英語:parallel computing):一般是指許多指令得以同時進行的計算模式。在同時進行的前提下,可以将計算的過程分解成小部分,之後以并發方式來加以解決。

分布式系統是一組計算機,透過網絡相互連接傳遞消息與通信後并協調它們的行為而形成的系統。組件之間彼此進行交互以實現一個共同的目标,把需要進行大量計算的工程數據分割成小塊,由多台計算機分别計算,再上傳運算結果後,将結果統一合并得出數據結論的科學。

是不是都覺的這些技術都很熟悉?

甚至在IT行業,常常被提及。當然,有一些這些還不夠,還缺了一個最關鍵的技術:虛拟化。

二、數據中心的演變

1. 數據中心介紹

前文說過:雲計算的本質就是對計算資源、網絡資源以及存儲資源的管理,最終的目标也就是按需分配。

那麼,計算資源、網絡資源和存儲資源又是什麼呢?

計算資源:CPU的核數和内存,主頻

網絡資源:帶寬

存儲資源:硬盤

數據中心和買台式機是類似的,如果需要更好的處理性能(計算資源),則需購買内存更大的和更好的CPU。同理,網絡資源也一樣,當您購買電腦後,需要上網則必須購買運營商提供的寬帶,數據中心也是類似的。

而如果電腦上如果想要存放東西,首先,電腦的操作系統總要一個盤去存放,所以需要硬盤,硬盤又分為機械硬盤和SSD盤,這是存儲資源。

我們常用的電腦是如此,而數據中心無非是把電腦換成了服務器,而一個數據中心可能有成千上百台的服務器,服務器的CPU、内存和硬盤性能也更優,然後通過企業級的路由器接入帶寬的上網。

那麼,問題來了:如何去管控一個數據中心的設備呢?

2. 傳統數據中心網絡結構

在傳統的大型數據中心,網絡通常是三層結構,Cisco稱之為:分級的互連網絡模型(hierarchical inter-networking model)。

這個模型包含了以下三層:

Access Layer(接入層):有時也稱為Edge Layer。接入交換機通常位于機架頂部,所以它們也被稱為ToR(Top of Rack)交換機,它們物理連接服務器。

Aggregation Layer(彙聚層):有時候也稱為Distribution Layer。彙聚交換機連接Access交換機,同時提供其他的服務,例如防火牆,SSL offload,入侵檢測,網絡分析等。

Core Layer(核心層):核心交換機為進出數據中心的包提供高速的轉發,為多個彙聚層提供連接性,核心交換機為通常為整個網絡提供一個彈性的L3路由網絡。 通常情況下,彙聚交換機是L2和L3網絡的分界點,彙聚交換機以下的是L2網絡,以上是L3網絡。每組彙聚交換機管理一個POD(Point Of Delivery),每個POD内都是獨立的VLAN網絡。服務器在POD内遷移不必修改IP地址和默認網關,因為一個POD對應一個L2廣播域。

入門學習雲計算(我這樣看雲計算)5

3. 于雲計算公司——雲計算時代的數據中心

雲計算時代的到來,使用的用戶可以任意分配自己的資源。而對于數據中心也是如此,計算資源、網絡資源和存儲資源被池化後,對數據中心的架構也提出了挑戰——需要一個大二層的網絡架構,即整個數據中心網絡都是一個L2廣播域。

入門學習雲計算(我這樣看雲計算)6

大二層網絡架構,L2/L3分界在核心交換機。核心交換機以下,也就是整個數據中心,是L2網絡(當然,可以包含多個VLAN,VLAN之間通過核心交換機做路由進行連通)。這樣,服務器可以在任意地點創建、遷移,而不需要對IP地址或者默認網關做修改。

4. 于企業——雲計算時代的機房

當然,前文所說的數據中心,其實對于很多公司都是用不到的。而對于大多數企業來說,如何去管理自己的機房呢?

管理無非是達到兩個方面的靈活,如果是企業,當需要創建或者擴建自己機房時,從采購到運行需要一段漫長的周期,同時,還需要擔心其中出現什麼變故呢?

如果是在雲計算平台上,就實現了兩個方面的靈活:

  1. 時間靈活性:随時用,随時有。
  2. 空間靈活性:想要多少資源就有多少。這兩種靈活也可以稱為雲計算的彈性,然而就是這種”彈性“卻經曆了多年的波折。

5. 雲計算時代數據中心的虛拟化

傳統IT時代,對于中小企業來說,并不能很好的自己去管理機房,于是會将自己的服務器托管于IDC中,或者直接在IDC中直接租用設備。然而,物理設備不能做到并不能很好的靈活性。

還是以電腦為例:假設我們需要買一台電腦,可能要去電腦城或者電商網站做各種對比,同時從采購到運輸都需要時間。而對于服務器來說,就要找到專門的供應商,然後采購運輸和安裝環境,到企業能夠部署應用,時間靈活性可謂非常之差。

這還不算,購買的服務器性能并不是說能夠全部利用的。可能你隻需要其中的1%,然而并沒有這麼小的服務器賣給你,如果想要擴容,又需要經曆一段重複的采購過程。

于是,虛拟化技術出現了,其中最牛逼的廠商叫做VMware。VMware的推出的Hypervisor可以實現計算、網絡、存儲的虛拟化,是第一個商業化的成功的虛拟化的x86架構。當然,後來被EMC收購了。

入門學習雲計算(我這樣看雲計算)7

但是,VMware作為付費閉源軟件,并且非常的昂貴。而互聯網大牛實在太多,君不見有收費的Windows,也有開源的linux,有閉源的IOS,也有開源的Andriod。虛拟化劃時代的發展的開源軟件的XEN和KVM誕生了。依托于虛拟化技術,數據中心終于可以将自己的設備虛拟化按需給有需要的用戶,也解決了物理設備的一個大問題:靈活性,或者叫彈性。

三、量變導緻質變——AWS引領潮流

1. 虛拟化的半自動和雲計算的全自動

剛開始的虛拟化屬于軟件虛拟化,虛拟機I/O性能上十分的糟糕,2005年後出現的XEN以及KVM等硬件虛拟化技術,不僅大幅度的提升了虛拟機的性能,也滿足了虛拟化技術在生産環境中的使用的要求。

雖然說虛拟化技術的發展是雲計算的基石,但是還不夠,虛拟化技術可以擴大硬件的容量,簡化軟件的重新配置過程。

CPU的虛拟化技術可以單CPU模拟多CPU并行,允許一個平台同時運行多個操作系統,并且應用程序都可以在相互獨立的空間内運行而互不影響。

入門學習雲計算(我這樣看雲計算)8

盡管如此,雲計算出來以前,虛拟化有一個最緻命的缺點:無法調度。要達到半自動化——即創建虛拟機時,需要人為的去指定創建虛拟機在某台物理機上。

于是,人們發明了各種各樣的算法來做這個事情,算法的名字叫做調度(Scheduler)。通俗一點說,就是有一個調度中心,幾千台機器都在一個池子裡面,無論用戶需要多少CPU、内存、硬盤的虛拟電腦,調度中心會自動在大池子裡面找一個能夠滿足用戶需求的地方,把虛拟電腦啟動起來做好配置,用戶就直接能用了。

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

說白了,虛拟化主要是把大塊拆成小塊兒,分布式系統主要是把小塊組合成大塊兒,IT資源經過這樣的揉碎再組合,變成了一個十分靈活的系統,在這幾個基本技術的基礎上,在通過調度中心,就可以實現雲計算的服務模式了。這就是虛拟化的半自動和雲計算的全自動。

2. 雲計算的從閉源到開源

公有雲公司上第一個商業化成功是AWS,可能你對這個單詞并不是熟悉。但是如果說起它的中文名亞馬遜,那也是如雷貫耳了。

入門學習雲計算(我這樣看雲計算)9

但是,為什麼亞馬孫作不應該是一家電商公司嗎?為何跨行轉為雲計算廠商呢,還成功了全世界最牛逼的雲計算公司?

前文說了:雲計算可以實現用戶的按需使用資源。而對于電商應用型的企業來說,阿裡雲的雲計算起源可以說的上和AWS類似,當本身的業務擴張時,桎梏于物理上限限制的計算性能以及遠遠不能滿足業務所帶來的需求。

當然,從成本來說,IBM小型機實在太高也是一點。無論是美國的”黑色星期五“和還國内的“雙11秒殺”,對于企業來說,需要的隻是短時間的“計算資源”。

于是,它們也急需雲計算平台。

但是環顧四周,那是還是一片荒野,怎麼辦?

隻能自己露胳膊上陣了,由于自身帶應用基因,所以亞馬遜的雲平台對應用更加友好,迅速發展成為雲計算的第一品牌,賺了很多錢。

2017年,亞馬遜AWS年營收達122億美元,運營利潤31億美元。盡管AWS剛開始幾年使用虛拟化技術的是開源的XEN(阿裡剛開始使用的KVM),但是如前文所言,虛拟化離雲計算還差了個最關鍵的“雲化”。

入門學習雲計算(我這樣看雲計算)10

而AWS作為行業老大,日子過的很爽,自己的核心技術當然不願意公開,所以AWS的“雲化”是閉源的。這個時候由于自身的需求,或者說眼紅AWS的盈利能力,作為全球三大雲計算中心之一的Rackspace(Rackspace在全球擁有10個以上數據中心,管理超過10萬台服務器),與NASA聯合研發出Openstack,Openstack是什麼呢?

可以簡單來說就是:“雲化”的技術,讓你随時随地的創建自己的應用,無論是XEN還是KVM都兼容。

入門學習雲計算(我這樣看雲計算)11

通俗來講:Openstack可以實現Compute計算、Networking網絡、Storage存儲雲化平台的自動化管理。

下面是我梳理的一張管理Openstack的功能圖,當然,非雲計算從業人員不用去弄懂。

入門學習雲計算(我這樣看雲計算)12

Rackspace本身入場晚,這個時候AWS已經很厲害了,占據了市場的絕大部分份額,怎麼辦呢?

Rackspace一狠心,抱着将整個行業做大,才能吃到更多的蛋糕想法将Openstack開源了。

于是,整個行業沸騰了,以前苦于入門難,現在輪子都造好了,直接自己拉輪子跑就行。有了OpenStack之後,果真就像Rackspace想的一樣,所有想做雲的大企業都瘋了。你能想象到的所有如雷貫耳的大型IT企業:IBM、惠普、戴爾、華為、聯想等都瘋了,雲計算行業也迎來了百花齊放。

使用Openstack的公司很多,但是能在開源社區做出貢獻的卻鳳麟毛角。當然,國内還有個阿裡自研的。

四、IAAS、PAAS、SAAS

前面虛拟使用各種雲化技術,終于實現了對計算資源、網絡資源和存儲資源的自動化管理,這個時候的雲計算叫IAAS。

什麼是IAAS呢?

說白了,相當于建房子時的地基。

IaaS在雲計算分類中,被叫做:基礎設施即服務,同理還有PaaS(平台即服務)和SaaS(軟件即服務)。

入門學習雲計算(我這樣看雲計算)13

入門學習雲計算(我這樣看雲計算)14

如上圖,SaaS都是一些可以被用戶直接使用的應用,而PaaS則是提供平台服務,無論是七牛的直播服務還是人工智能服務,其都是屬于PaaS層産品。

入門學習雲計算(我這樣看雲計算)15

對于用戶來說,如上圖,從左往右:傳統IT到SaaS,需要用戶做的事情越來越少。同時,在IAAS層的服務器上,也會提供平台應用型的服務。如開源的Mysql,對于用戶來說,隻需關注自身的業務即可。要麼是自動部署(彈性伸縮),要麼是不用部署(通用應用)。總的來說,就是應用層你也要少操心,這就是PaaS層的重要作用。

五、公有雲、私有雲、混合雲、社區雲和托管雲是什麼東東?

到這裡,我也要舉例子了:

「經典廚房論」

  • 私有雲:自己廚房做飯,需要自己有地建個廚房且還要買鍋碗瓢盆柴米油鹽等。此外,吃完總要洗碗刷鍋等運維吧,就是私有雲。
  • 公有雲:到飯店吃飯,你隻是飯店其中一個客戶,按需胡吃海塞吃完結賬抹嘴走人,餐館後廚如何安排做菜順序,并加快出菜速度就是負載均衡和虛拟化概念,就是公有雲。
  • 混合雲公有雲:請廚師到家裡上門做飯則屬于典型的混合雲,在資産安全的情況下有限使用公有雲。
  • 社區雲:飯店隻針對某個特定群體如學生開放,同時可能還會有學生在飯店做兼職,這就相當于社區雲。
  • 托管雲:飯店比較大,自己也比較有錢,于是到飯店租了個包間,無論我用不用,我租用的期限都不能給其他人使用,這就是托管雲。
  • 私有雲轉公有雲:自己朋友來,廚房能力不足,于是全部去飯店吃,這是私有雲轉公有雲。

上圖簡單介紹幾種了公有雲、私有雲和混合雲的行業分類。當然,到目前還是這三種雲占據主流。

六、總結

1. 雲計算實現了資源的靈活運用

雲計算的資源就如同銀行一般,銀行向外借貸的錢遠比本身存儲的錢要多的多,雲計算底層資源出售也是同理的,也是屬于“超賣”模式。隻要不同時擠兌,就不會有問題。

随着Openstack技術的越發成熟,管理的規模越來越大,動不動就是上萬台服務器,同時可以實現異地部署然後進行統一管理。在這種規模的前提下,對于普通用戶甚至企業來說,基本上可以實現想要多少的資源就有多少資源。

入門學習雲計算(我這樣看雲計算)16

以某盤為例:假設給每個人都分配了2T的存儲空間,1億用戶,那麼難道雲計算廠商需要2億T的存儲空間?

這是不可能的,實質上分配的2T存儲空間僅僅是用戶層面所看的,而用戶使用的可能僅僅其中的100G甚至更少,那麼真實給你的也就100G。當你資源不斷上傳時,給你分配的真實的存儲也會增加。如計算資源和網絡資源同理,當雲平台感覺資源不夠時,就是去采購設備擴容,但是這對于用戶來說是無感知,這就是資源利用的靈活性。

2. 雲計算其實不便宜

成本更低、運維成本更低、服務更好、彈性擴展、部署更快、不用采購硬件,雲計算的好處總能說出一大堆。

但,這些點往往隻反映雲計算的一個側面,有的還不完全正确——比如:成本低,客戶會發現,如果租用高性能雲主機且保證99.99%的可用服務時,成本往往并不比自建機房低,在需要的主機(物理機或虛機)量比較大時,尤其明顯。就如當年阿裡的“去IOE運動”,難道是阿裡賺的錢買不起設備了嗎?對于大公司來說,首先考慮的不是成本,而是業務的連續和穩定性。而事實證明,“去IOE”後所花的成本并不比原先低多少。當然,後來阿裡雲又掙錢了這個另說。

3. 雲計算是一場社會屬性的變革

其實,雲計算的本質就是社會分工。社會分工所産生的價值雲計算都能産生,比如:規模化、精細化所産生的成本降低與效率提高等。而社會分工中産生的問題,雲計算也都會面對,比如節省下來的成本到底是買家受益還是賣家受益,再比如壟斷。

拿蒸饅頭舉例子:在城市中,大多數家庭不自己蒸饅頭而去饅頭房買,這是社會分工,節省了社會總體成本。但是,買饅頭并不比自己蒸更便宜,說明節省了的成本進入了賣家而非買家的腰包。

再比如:當一個城市隻剩一家饅頭房而大多數家庭又喪失了蒸饅頭的能力時,饅頭房便有可能提價,這就是壟斷。

最後,本人才疏學淺,難免有些遺漏,望斧正。

作者:賀志兵(本人)

本文由 @Pasca 原創發布于人人都是産品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved