雲計算科普——入行半年,我這樣看雲計算

戳藍字“
CSDN雲計算”關注我們哦!

前 言

在今天,如果說對於雲計算還一無所知,那可就真的out了。企業喊了這麼多年的”上雲運動“,那麼雲的本質到底是什麼呢?從2006年雲計算的概念被提出到今天,已經經過了十幾年,雲計算取得了飛速的發展與翻天覆地的變化,行業的蓬勃發展已經得到了諸多巨頭的青睞和垂涎,紛紛揮斥著巨資入場。2010年,全球雲計算市場規模僅683億美元,而到2020年,預計將突破4000億美元。

云计算科普——入行半年,我这样看云计算

而在雲計算行業稍顯弱勢的國內,以阿里雲、騰訊雲和七牛雲等雲計算企業的也紛紛抓住時代脈搏,扛起了國內雲計算的大旗。阿里雲的首吃螃蟹後成為阿里巴巴集團核心業務,同時行業內孵化出的一些獨角獸”獨角獸“如七牛雲、ucloud等,也詔顯的國內雲計算市場的大有可為。數據表明,2016年我國公有云市場規模為215億,而這個數字,到2020年,預計達到1300+億元以上,年增長25%以上。

云计算科普——入行半年,我这样看云计算

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

一、雲計算的前身

儘量雲計算已經席捲而來,和人們現在的生活息息相關。12306和雙11,這兩者我相信我國人民總要經歷過一者或全部。而針對雲計算的定義,為了讓更多的人理解雲計算到底是個什麼東東,各路科普人員也可謂是”費盡苦心“,然後就有了各種看似準確的解釋,如”水龍頭觀點論“、”葷段子觀點論“、”披薩觀點論“、”廚房觀點論“以及與時俱進的”共享出行觀點論“。在接觸雲計算時,我們或多或少為了讓自己容易理解而使用這些觀點類(裝)比(逼)。一定程度上,這些觀點確實通俗易懂且形象,大家也可以自行網上了解這些觀點。

云计算科普——入行半年,我这样看云计算

而在我的理解中,私以為,雲計算是一種模型,即將計算、網絡和存儲虛擬化資源池以按需的方式提供給有需要的人。雲計算並不是一蹴而就的,在雲計算誕生之前,其實很多雲計算相關技術都已經誕生,如分佈式計算、並行計算還有網格計算。

網格計算(英語: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廣播域。

云计算科普——入行半年,我这样看云计算

3、於雲計算公司——雲計算時代的數據中心

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

云计算科普——入行半年,我这样看云计算

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

4、於企業——雲計算時代的機房

當然,前文所說的數據中心,其實對於很多公司都是用不到的。而對於大多數企業來說,如何去管理自己的機房呢?管理無非兩個是達到兩個方面的靈活,如果是企業,當需要創建或者擴建自己機房時,從採購到運行需要一段漫長的週期,同時,還需要擔心其中出現什麼變故。如果是在雲計算平臺上,就實現了兩個方面的靈活:

•時間靈活性:隨時用,隨時有。

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

5、雲計算時代數據中心的虛擬化

傳統IT時代,對於中小企業來說,並不能很好的自己去管理機房,於是會將自己的服務器託管於IDC中,或者直接在IDC中直接租用設備。然而,物理設備不能做到並不能很好的靈活性。還是以電腦為例,假設我們需要買一臺電腦,可能要去電腦城或者電商網站做各種對比,同時從採購到運輸都需要時間,而對於服務器來說,就要找到專門的供應商,然後採購運輸和安裝環境,到企業能夠部署應用,時間靈活性可謂非常之差。這還不算,購買的服務器性能並不是說能夠全部利用的,可能你只需要其中的1%,然而並沒有這麼小的服務器賣給你,如果想要擴容,又需要經歷一段重複的採購過程。於是,虛擬化技術出現了,其中最牛逼的廠商叫做VMware。VMware的推出的Hypervisor可以實現計算、網絡、存儲的虛擬化,是第一個商業化的成功的虛擬化的x86架構。當然,後來被EMC收購了。

云计算科普——入行半年,我这样看云计算

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

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

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

剛開始的虛擬化屬於軟件虛擬化,虛擬機I/O性能上十分的糟糕,2005年後出現的XEN以及KVM等硬件虛擬化技術,不僅大幅度的提升了虛擬機的性能,也滿足了虛擬化技術在生產環境中的使用的要求。雖然說虛擬化技術的發展是雲計算的基石,但是還不夠,虛擬化技術可以擴大硬件的容量,簡化軟件的重新配置過程。CPU的虛擬化技術可以單CPU模擬多CPU並行,允許一個平臺同時運行多個操作系統,並且應用程序都可以在相互獨立的空間內運行而互不影響。

云计算科普——入行半年,我这样看云计算

儘管如此,雲計算出來以前,虛擬化有一個最致命的缺點:

無法調度。只能達到半自動化,即創建虛擬機時需要人為的去指定創建虛擬機在某臺物理機上。於是人們發明了各種各樣的算法來做這個事情,算法的名字叫做調度(Scheduler)。通俗一點說,就是有一個調度中心,幾千臺機器都在一個池子裡面,無論用戶需要多少CPU、內存、硬盤的虛擬電腦,調度中心會自動在大池子裡面找一個能夠滿足用戶需求的地方,把虛擬電腦啟動起來做好配置,用戶就直接能用了。這個階段我們稱為池化或者雲化。到了這個階段,才可以稱為雲計算,在這之前都只能叫虛擬化。說白了,虛擬化主要是把大塊拆成小塊兒,分佈式系統主要是把小塊組合成大塊兒,IT資源經過這樣的揉碎再組合,變成了一個十分靈活的系統,在這幾個基本技術的基礎上,在通過調度中心,就可以實現雲計算的服務模式了。這就是虛擬化的半自動和雲計算的全自動

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

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

云计算科普——入行半年,我这样看云计算

但是為什麼亞馬孫作不應該是一家電商公司嗎?為何跨行轉為雲計算廠商呢?還成功了全世界最牛逼的雲計算公司。前文說了,雲計算可以實現用戶的按需使用資源。而對於電商應用型的企業來說,阿里雲的雲計算起源可以說的上和AWS類似,當本身的業務擴張時,桎梏於物理上限限制的計算性能以及遠遠不能滿足業務所帶來的需求,當然,從成本來說,IBM小型機實在太高也是一點。無論是美國的”黑色星期五“和還國內的”雙11秒殺“,對於企業來說,需要的只是短時間的”計算資源“。於是,它們也急需雲計算平臺,但是環顧四周,那是還是一片荒野,怎麼辦?只能自己露胳膊上陣了,由於自身帶應用基因,所以亞馬遜的雲平臺對應用更加友好,迅速發展成為雲計算的第一品牌,賺了很多錢。2017年,亞馬遜AWS年營收達122億美元,運營利潤31億美元。儘管AWS剛開始幾年使用虛擬化技術的是開源的XEN(阿里剛開始使用的KVM),但是如前文所言,虛擬化離雲計算還差了個最關鍵的”雲化“。

云计算科普——入行半年,我这样看云计算

而AWS作為行業老大,日子過的很爽,自己的核心技術當然不願意公開,所以AWS的”雲化“是閉源的,這個時候由於自身的需求,或者說眼紅AWS的盈利能力,作為全球三大雲計算中心之一的Rackspace(Rackspace在全球擁有10個以上數據中心,管理超過10萬臺服務器),與NASA聯合研發出Openstack,Openstack是什麼呢?可以簡單來說就是”雲化“的技術,讓你隨時隨地的創建自己的應用,無論是XEN還是KVM都兼容。

云计算科普——入行半年,我这样看云计算

通俗來講,Openstack可以實現Compute計算、Networking網絡、Storage存儲雲化平臺的自動化管理。下面是我梳理的一張管理Openstack的功能圖,當然,非雲計算從業人員不用去弄懂。

云计算科普——入行半年,我这样看云计算

Rackspace本身入場晚,這個時候AWS已經很厲害了,佔據了市場的絕大部分份額。怎麼辦呢?Rackspace一狠心,抱著將整個行業做大才能吃到更多的蛋糕想法將Openstack開源了。於是,整個行業沸騰了,以前苦於入門難,現在輪子都造好了,直接自己拉輪子跑就行,有了OpenStack之後,果真就像Rackspace想的一樣,所有想做雲的大企業都瘋了,你能想象到的所有如雷貫耳的大型IT企業:IBM、惠普、戴爾、華為、聯想等都瘋了,雲計算行業也迎來了百花齊放。

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

四、IAAS、PAAS、SAAS

前面虛擬使用各種雲化技術,終於實現了對計算資源、網絡資源和存儲資源的自動化管理,這個時候的雲計算叫IAAS,什麼是IAAS呢?說白了,相當於建房子時的地基。IaaS在雲計算分類中被叫做基礎設施即服務,同理還有PaaS(平臺即服務)和SaaS(軟件即服務)。

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

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

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

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

「經典廚房論」:自己廚房做飯,需要自己有地建個廚房且還要買鍋碗瓢盆柴米油鹽等,此外,吃完總要洗碗刷鍋等運維吧,就是私有云。

到飯店吃飯,你只是飯店其中一個客戶,按需胡吃海塞吃完結賬抹嘴走人,餐館後廚如何安排做菜順序並加快出菜速度就是負載均衡和虛擬化概念,就是公有云。

請廚師到家裡上門做飯則屬於典型的混合雲,在資產安全的情況下有限使用公有云。

飯店只針對某個特定群體如學生開放,同時可能還會有學生在飯店做兼職。這就相當於社區雲。

飯店比較大,自己也比較有錢,於是到飯店租了個包間,無論我用不用,我租用的期限都不能給其他人使用,這就是託管雲。

自己朋友來,廚房能力不足,於是全部去飯店吃,這是私有云轉公有云。

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

六、總結

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

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

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

以某盤為例。假設給每個人都分配了2T的存儲空間,1億用戶,那麼難道雲計算廠商需要2億T的存儲空間?這是不可能的,實質上分配的2T存儲空間僅僅是用戶層面所看的,而用戶使用的可能僅僅其中的100G甚至更少,那麼真實給你的也就100G,當你資源不斷上傳時,給你分配的真實的存儲也會增加。如計算資源和網絡資源同理,當雲平臺感覺資源不夠時,就是去採購設備擴容,但是這對於用戶來說是無感知。這就是資源利用的靈活性。

2、雲計算其實不便宜

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

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

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

拿蒸饅頭舉例子,在城市中,大多數家庭不自己蒸饅頭而去饅頭房買,這是社會分工,節省了社會總體成本,但是買饅頭並不比自己蒸更便宜,說明節省了的成本進入了賣家而非買家的腰包。再比如,當一個城市只剩一家饅頭房而大多數家庭又喪失了蒸饅頭的能力時,饅頭房便有可能提價,這就是壟斷。

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

添加小編微信:color_ld,備註“進群+姓名+公司職位”即可,加入【雲計算學習交流群】,和志同道合的朋友們共同打卡學習!

2.徵稿:

投稿郵箱:[email protected];微信號:color_ld。請備註投稿+姓名+公司職位。


分享到:


相關文章: