OpenStack入門科普,看這一篇就夠啦!

大家好,我是小棗君。

最近幾年,

OpenStack這個詞開始頻繁出現,引起了越來越多人的關注。

OpenStack入門科普,看這一篇就夠啦!

對於大部分人來說,這是一個很陌生的詞,不知道它到底是什麼,從哪裡來,有什麼用,和自己的工作有什麼關係。

有人可能知道,它和現在非常火的雲計算有很大的關係。伴隨它一起出現的,還有很多新詞,例如NFV、Nova、Neutron、Horizon等,更加讓人云裡霧裡。

為了消除大家的疑惑,今天小棗君就來一個“大揭秘”——通過這篇通俗易懂的科普文,幫助大家輕鬆入門「OpenStack」

OpenStack入門科普,看這一篇就夠啦!

OpenStack的起源

我們先來說說OpenStack的起源吧。

2002年,美國著名的電商公司亞馬遜(Amazon)幹了一件“不務正業”的事。他們向客戶推出了一項全新的業務——包括存儲空間、計算能力等資源服務的Web Service。這就是大名鼎鼎的AWS(Amazon Web Service)

OpenStack入門科普,看這一篇就夠啦!

說白了,這個Web Service服務,就是為大家提供“遠程電腦”。你可以遠程控制它,有硬盤,有CPU,有內存啥的。你在上面配置你的各種服務,然後給你的用戶使用,例如網站、FTP等。

OpenStack入門科普,看這一篇就夠啦!

這個就是雲計算的一種早期形式。

後來,到了2006年,亞馬遜又推出了彈性計算雲(Elastic Compute Cloud),也稱 EC2

EC2配置界面更簡單,使用起來更方便,關鍵一點,它開始有了“彈性”!

OpenStack入門科普,看這一篇就夠啦!

什麼是“彈性”?別急哈,等會我們再解釋。

同樣是2006年,8月9日,Google首席執行官埃裡克·施密特在搜索引擎大會上首次提出“雲計算”(Cloud Computing)的概念。從此,雲計算進入了高速發展階段。

OpenStack入門科普,看這一篇就夠啦!

雲計算

到了2010年,當時有一家名叫Rackspace的公司,他們一直在做和亞馬遜一樣的雲主機和雲儲存服務,但是始終都幹不過亞馬遜,排名第二。他們一氣之下,乾脆就把它們的雲儲存服務給開源了。

啥叫開源(Open Source)?開源就是開放源代碼,把程序的代碼公開了,給所有人免費查看和使用。

和他們一起開放源代碼的,還有一個傢伙,就是——NASA

OpenStack入門科普,看這一篇就夠啦!

好吧,又是一個“不務正業”的傢伙。

NASA之前在雲計算方面投入了大量的資金,但是後來發現這玩意好像是個無底洞,太燒錢了。而且,他們也似乎意識到這不是他們該乾的事。所以,NASA和Rackspace一起,選擇開放源代碼。

*其實還有一個原因:以前NASA是使用Eucalyptus雲計算管理平臺,不過這個平臺分成兩個版本,一個開源的版本,一個收費的版本。這就導致NASA很不爽,向Eucalyptus貢獻代碼,結果Eucalyptus認為這個代碼和收費版本衝突,不接受。NASA給氣得不行,所以選擇了將代碼開源。

Rackspace和NASA並不是簡單地代碼一丟完事,而是聯手共同成立了一個開源項目。這個項目,就是OpenStack

OpenStack入門科普,看這一篇就夠啦!

OpenStack的版本

開源項目的玩法,和企業內部研發是完全不一樣的。

開源項目中,地球上所有人都可以為這個項目貢獻自己的力量,也可以使用這個項目的開發成果。也就是說,

“人人為我,我為人人”

OpenStack入門科普,看這一篇就夠啦!

開源(Open Source)

但是,為了保證項目能規範、有序地推進下去,還是需要有人“牽頭”和“打雜”的。

OpenStack作為一個開源項目,它是由開源社區來負責推進和維護的。

這個社區也並不是一盤散沙,它有自己的組織形態。

首先,有一個OpenStack基金會,下面設立了董事會、技術委員會、用戶委員會。基金會享有話語權,進行目標和發展的引導。

OpenStack入門科普,看這一篇就夠啦!

基金會成員有三種形式。首先是獨立個體,也就是以個人名義為OpenStack做出貢獻。

其次是鉑金會員。主要由對OpenStack作出重要承諾的公司組成,他們提供資金與資源。

目前,OpenStack基金會主要有 7 家鉑金會員:

OpenStack入門科普,看這一篇就夠啦!

最後是金牌會員。同樣由公司組成,他們贊助的資金與資源比鉑金會員稍微少一些。

目前,OpenStack基金會擁有 21 位金牌會員:

OpenStack入門科普,看這一篇就夠啦!

從2010年項目誕生之日起,OpenStack開源社區每年都會開兩次設計峰會(Design Summit),發佈兩個正式版本。迄今為止,一共已經出了17個版本。

OpenStack入門科普,看這一篇就夠啦!

OpenStack設計峰會

這裡我要開啟“吐槽”模式了。。。

開源社區這幫搞技術的宅男腐女,不管年齡大小,內心仍然是一群孩子。他們平時在公司上班比較“木雞”,在社區這種自由環境裡是一個比一個“皮”。

從哪可以看出來?就在“取名”上——他們竟然給每個版本都單獨取了一個名字。。。(而非商業軟件一樣按數字序號命名)

每個版本的名字如下:

OpenStack入門科普,看這一篇就夠啦!

不知道大家看出來沒有,這些名字都是有“玄機”的!

首先,版本號的第一個字母,從A開始,然後B、C、D…

其次,每個名字都是從當次設計峰會所在城市中選一個地名,作為該版本的名字。

例如,第一個版本Austin,就是根據Rackspace公司所在地(也是第一次峰會所在地)——美國德克薩斯州的首府“奧斯丁”確定的。

還有第9個版本,當時峰會是在香港舉辦的,用的“雪廠街”這個名字。

OpenStack入門科普,看這一篇就夠啦!

這麼做的直接後果就是,記憶和分辨起來真的很困難,容易看暈。。。

OpenStack的架構

接下來,我們看看OpenStack的架構。

前面說了,OpenStack從一開始,就是為了雲計算服務的。簡單來說,它就是一個操作系統,一套軟件,一套IaaS軟件。

什麼是IaaS?Infrastructure as a Service,基礎設施即服務。(瞭解更多,看這裡:“雲計算”)

OpenStack入門科普,看這一篇就夠啦!

雲計算的三種服務模式:IaaS、PaaS、SaaS

管理“基礎設施資源”,便於用戶調用和使用,是OpenStack的首要任務。

基礎設施資源,主要包括三個方面:計算、存儲、網絡。說通俗點,就是CPU,硬盤,網卡。

OpenStack入門科普,看這一篇就夠啦!

OpenStack對資源進行管理,並且以服務的形式提供給上層應用或者用戶去使用。

例如前面我們所說的“彈性”。正是因為資源能夠被靈活調用,所以用戶使用資源時,這個雲平臺可以根據用戶的需要,動態增加和刪減資源,不用中斷用戶的使用,更無需全新申請。這就是“彈性”。

那麼,它到底是如何實現的呢?

答案是——通過它的眾多組件。

前方高能預警……

學習OpenStack,最痛苦的事情,莫過於看它的架構。

不信?好,扔個圖給你看:

OpenStack入門科普,看這一篇就夠啦!

OpenStack系統架構邏輯關係圖

嚇尿了吧。。。

這還不算是最複雜的,再扔一個給你:

OpenStack入門科普,看這一篇就夠啦!

好了好了,不扔了,人都跑光了。。。

OpenStack擁有眾多的組件,通過組件之間協同進行工作,所以看上去架構非常複雜。

我還是用一個簡單的圖吧,看得更明白些。如下:

OpenStack入門科普,看這一篇就夠啦!

這個圖裡面的彩色方塊,就是OpenStack最核心的組件。

說到這些組件的名字,我實在忍不住又要吐槽這幫程序猿了,簡直就是“取名狂魔”!他們不僅給每個項目版本單獨取名字,連openstack內部的組件也難逃他們的魔爪。。。

OpenStack入門科普,看這一篇就夠啦!

OpenStack關鍵組件及作用

這些組件裡,我挑幾個再介紹一下(看不懂也沒關係,可以跳過):

  • Nova

Nova是整個Openstack裡面最核心的組件。當初Rackspace和NASA貢獻代碼時,NASA貢獻的那部分就是Nova最早的代碼(Rackspace貢獻的代碼是Swift)。OpenStack雲實例生命期所需的各種動作都將由Nova進行處理和支撐,它負責管理整個雲的計算資源、網絡、授權及測度。

  • Keystone

Keystone為所有的OpenStack組件提供認證和訪問策略服務,主要對(但不限於)Swift、Glance、Nova等進行認證與授權。

  • Horizon

Horizon是一個用以管理、控制OpenStack服務的Web控制面板。用戶可以通過這個界面對OpenStack狀態進行查看和管理。

OpenStack入門科普,看這一篇就夠啦!

用Horizon管理OpenStack

也就是說,OpenStack的組件都有自己的功能定位。其實,每個組件都可以算是獨立的一個程序(Software)。

OpenStack入門科普,看這一篇就夠啦!

Open為開放之意,Stack則是堆砌,也就是許多Open的Softwares進行集合和堆砌

關於技術細節,就先說這麼多吧,再說下去估計人都跑光啦。。。

OpenStack的發展

經過八年的努力,如今的OpenStack已經今非昔比。

很多企業和個人紛紛加入Openstack開源社區,使之成為了目前僅次於LINUX的全球第二大開源社區。

按官網最新數據,現在有180多個國家,677家企業,87426名社區會員通過各種方式支撐著這個項目。項目的代碼也已經超過了2000萬行。

OpenStack入門科普,看這一篇就夠啦!

全球一半以上的500強企業,都採用了OpenStack技術。而且,根據調查,有75%以上的企業打算今後使用這項技術。

OpenStack入門科普,看這一篇就夠啦!

OpenStack在各行業的應用情況佔比(2017年)

小棗君作為一枚通信汪,這裡要特別強調一下,雖然OpenStack是雲計算技術,主要是IT的概念,但對於通信行業來說極為重要。

通信網絡中的核心網,已經全面開始了向虛擬化和雲計算的演進。小棗君之前就介紹過,現在通信行業裡火熱的NFV技術,就是基於虛擬化的,採用了IT裡面的很多理念和設計。

而核心網的IT化,將是整個通信系統IT化的第一步。

華為的FusionSphere平臺和中興的TECS平臺,都是基於OpenStack進行二次開發的商業系統。這些平臺都已經被自家的核心網和雲計算產品採用,目前處於替代傳統平臺的階段。

OpenStack入門科普,看這一篇就夠啦!

OpenStack之所以這麼受歡迎,主要原因有三個方面:

首先是快速。OpenStack安裝部署所需要的時間很少,而時間就是價值。

其次是靈活。OpenStack獲得了各大領導廠商的廣泛支持,兼容性和適用性極強,使用起來非常方便可靠。

最後是便宜。作為開源項目,OpenStack的使用成本相對低廉,還能獲得源源不斷的更新,因為開源社區在為項目貢獻活力。

總而言之,Openstack擁有非常大的發展潛力,目前處於高速發展的上升期。在未來很長一段時間內,這種趨勢都不會改變。

OpenStack入門科普,看這一篇就夠啦!

OpenStack的學習

經過上面的介紹,想必大家熱血沸騰,躍躍欲試了吧?

OpenStack這麼牛掰,到底該如何學習它呢?它看上去那麼複雜,會不會很難學會呢?

其實,雖然前面看到的架構很複雜,但是真心要學習OpenStack的話,並沒有想象得那麼困難。

因為OpenStack是開源的項目,所以互聯網上相關的學習資料非常豐富。無論是官方文檔,還是非官方資料,都數不勝數。

所以,問題不在於資料缺乏,而是資料太多你看不完…

OpenStack入門科普,看這一篇就夠啦!

官方網站強大的資料庫和技術支撐 https://www.openstack.org/

網上也有很多手把手進行教學的文檔和視頻,可以方便新人學習時進行參考。

推薦幾個大咖,大家可以百度找他們的博客來看:陳沙克、何明桂、孔令賢,Cloudman。

有了官方資料,加上大咖的博客,你只需要一臺電腦,你就可以開始OpenStack的學習——直接下載,直接安裝,直接配置,直接使用,沒有任何門檻要求。

如果遇到問題,先別急著找人問,先自己嘗試找資料解決,一定會學得嗖嗖快。

OpenStack入門科普,看這一篇就夠啦!

不過,OpenStack入門雖然很容易,但是精通就很難了。需要長時間不斷地鑽研和積累,還需要進行大量的實踐部署,才有可能成為專家。

到底哪些人需要學習OpenStack呢?

小棗君覺得,有三種人最應該立刻開始對它的學習。

1、IT行業從業者

這就不用多說了,未來網絡就是雲計算,大數據的天下,只要是從事IT方面的工作,肯定會和雲打交道,OpenStack作為雲計算技術的代表,是一個合適的切入點。

2、通信、電子、計算機專業的大學生

雲計算技術在目前大部分高校都沒有合適的教學規劃,所以,在校大學生應該注意提前進行此類趨勢技術的學習,既有利於就業,又能緊跟時代節奏,選擇將來進修的合適方向。

3、通信行業從業者

啥都別說了,通信人趕緊滾去學習吧。。。

好啦,關於OpenStack的介紹,就到這裡,謝謝大家的觀看!

後續小棗君會推出更深入的內容喲!

敬請期待!


分享到:


相關文章: