一篇文章讓你讀懂 OpenStack 的起源、架構(gòu)和應(yīng)用

OpenStack 是一個面向 IaaS 層的開源項目,用于實現(xiàn)公有云和私有云的部署及管理押逼。擁有眾多大公司的行業(yè)背書和數(shù)以千計的社區(qū)成員, OpenStack 被看作是云計算的未來惦界。目前 OS 基金會里已有500多個企業(yè)贊助商挑格,遍布世界170多個國家,其中不乏 HP 沾歪、 Cisco 漂彤、 Dell 、 IBM 等灾搏,值得一提的是 Google 也在2015年加入基金會挫望。

一.關(guān)于項目起源

Rackspace (一家美國的云計算廠商)和 NASA (美國國家航空航天局)在2010年共同發(fā)起了 OpenStack 項目。

那時候 Rackspace 是美國第二大云計算廠商狂窑,但規(guī)模只能占到亞馬遜的5%媳板。只依靠內(nèi)部的力量來超越或者追趕亞馬遜不大可能,這家公司索性就把自己的項目開源了泉哈,也就是后來的 OpenStack 的存儲源碼( swift )蛉幸。

與此同時破讨, NASA 也對自己使用的 Eucalyptus 云計算管理平臺很不爽。 Eucalyptus 有兩個版本奕纫,開源版本和收費版本提陶, NASA 想給 Eucalyptus 開源版本貢獻 patch ,結(jié)果 Eucalyptus 不接受匹层,估計是和收費版本功能重疊了隙笆。當時 NASA 的六個開發(fā)人員,用了一個星期時間拿 Python 做出來一套原型升筏,結(jié)果虛擬機在這上面運行的很成功仲器,這就是 Nova (計算源碼)的起源。

NASA 跟 Raskspace 玩的比較好仰冠,于是 NASA 貢獻 Nova 乏冀, Raskspace 貢獻 Swift ,在2010年的7月發(fā)起了 OpenStack 項目洋只。

二. OpenStack 架構(gòu)

截至 Grizzly 版本辆沦, OpenStack 含七個核心項目:

  • Compute (Nova)
  • Networking (Neutron/Quantum)
  • Identity Management (Keystone)
  • Object Storage (Swift)
  • Block Storage (Cinder)
  • Image Service (Glance)
  • User Interface Dashboard (Horizon)

其中有三個最核心的架構(gòu)服務(wù)單元,分別是:計算基礎(chǔ)架構(gòu) Nova 识虚、存儲基礎(chǔ)架構(gòu) Swift 和鏡像服務(wù) Glance 肢扯。

Nova 是 OpenStack 云計算架構(gòu)控制器,管理 OpenStack 云里的計算資源担锤、網(wǎng)絡(luò)蔚晨、授權(quán)、和擴展需求肛循。 Nova 不能提供本身的虛擬化功能铭腕,相反,它使用 libvirt 的 API 來支持虛擬機管理程序交互多糠,并通過 web 服務(wù)接口開放他的所有功能并兼容亞馬遜 web 服務(wù)的 EC2 接口累舷。

Swift 為 OpenStack 提供分布式的、最終一致的虛擬對象存儲夹孔。通過分布式的穿過節(jié)點被盈, Swift 有能力存儲數(shù)十億計的對象, Swift 具有內(nèi)置冗余搭伤、容錯管理只怎、存檔、流媒體的功能怜俐。并且高度擴展身堡,不論大小(多個 PB 級別)和能力(對象的數(shù)量)佑菩。

Glance 鏡像服務(wù)查找和檢索虛擬機的鏡像系統(tǒng)盾沫。

OpenStack 架構(gòu)圖

上圖為 OpenStack 架構(gòu)

三個元素將會與系統(tǒng)中的所有組件進行交互裁赠。 Horizon 是圖形用戶界面殿漠,管理員可以很容易地使用它來管理所有項目赴精。 Keystone 處理授權(quán)用戶的管理, Neutron 定義提供組件之間連接的網(wǎng)絡(luò)绞幌。
Nova 被認為是 OpenStack 的核心蕾哟,負責(zé)處理工作負載的流程。它的計算實例通常需要進行某種形式的持久存儲莲蜘,它可以是基于塊的 ( Cinder ) 或基于對象的 ( Swift )谭确。 Nova 還需要一個鏡像來啟動一個實例。 Glance 將會處理這個請求票渠,它可以有選擇地使用 Swift 作為其存儲后端逐哈。

OpenStack 架構(gòu)一直努力使每個項目盡可能的獨立,這使得用戶可以選擇只部署一個功能子集问顷,并將它與提供類似或互補功能的其他系統(tǒng)和技術(shù)相集成昂秃。然而,這種獨立性不應(yīng)掩蓋這樣一個事實:全功能的私有云很可能需要使用幾乎所有功能才可以正常運作杜窄,而且各元素需要被緊密地集成肠骆。

傳統(tǒng)的軟件生態(tài)模式是用戶和開發(fā)者之間隔著銷售、產(chǎn)品經(jīng)理等角色塞耕,而 OpenStack 等開源的模式打破了這樣一種模式蚀腿, OS 只提供最最底層的框架,剩余一切都圍繞著用戶扫外,用戶可參與從設(shè)計莉钙、編碼、測試筛谚、到運維的各種階段胆胰。而這樣的模式生命力是最強的。

三. OpenStack 的核心優(yōu)勢

如果僅僅是便宜刻获,那么 OpenStack 對于企業(yè)似乎就沒那么大的價值了蜀涨。相反, OpenStack 提供了一個非常好的有關(guān)如何來打造類似于主要公有云比如亞馬遜( AWS )和 Google Cloud Platform ( GCP )的彈性私有云的樣板蝎毡。就像 Hadoop 將 Google 的 MapReduce (加上它的參考架構(gòu))推向大眾一樣厚柳, OpenStack 將 AWS/GCP 式樣的的基礎(chǔ)架構(gòu)即服務(wù)( IaaS )推向了每個用戶。它就是能實現(xiàn)企業(yè)內(nèi)部 DevOps 的終極平臺沐兵。

OpenStack 能在企業(yè)內(nèi)部提供類似的平臺别垮。私有云可以基于公有云模型來構(gòu)造,使得開發(fā)者同時擁有集中式 IT 控制和支配扎谎。本質(zhì)上碳想,它是兩者融合的最佳平臺烧董,這也是 OpenStack 驅(qū)動的私有云的真正價值。

由 OpenStack 來實現(xiàn)企業(yè)內(nèi)部的 DevOps 胧奔,進而實現(xiàn)敏捷逊移,而敏捷恰恰是驅(qū)動云計算的原動力。

四.企業(yè)級 OpenStack 的需求
企業(yè)級 OpenStack 到底需要什么呢龙填?有以下六個關(guān)鍵的因素:

  • 1.99.999% 的 API 可用性以及可擴展的控制平面

有高可靠性要求的應(yīng)用需要高可靠的云API向全新的云和 DevOps 模型轉(zhuǎn)型的一個關(guān)鍵能力是提供云原生應(yīng)用在彈性云中的容錯能力胳泉。要使一個應(yīng)用能實時地適應(yīng)不同組件的出錯,云 API 需要有更高的可用性岩遗。

API 的可用性不是唯一的衡量標準扇商。你的云控制平面的吞吐量( throughoutput )同樣關(guān)鍵∷藿福可以將控制平面想象成云的指揮中樞案铺。這是中央智能和編排層的核心。你的 API 是控制平面的一部分梆靖,對于 OpenStack 來說控汉,包括所有的核心項目,以及日常的云管理系統(tǒng)(通常是 OpenStack 企業(yè)級套件的一部分)涤姊,以及所有必要的輔助服務(wù)暇番,比如數(shù)據(jù)庫、 OpenStack 各廠商插件等等思喊。你的云的控制平面必須能夠隨著云的增長而增長壁酬。這意味著,總體上恨课,你將會獲得更多的 API 操作的吞吐量(對象上傳/下載舆乔、鏡像上傳/下載、元數(shù)據(jù)更新等待)剂公。

  • 2.健壯的管理和安全模型

安裝只是管理 OpenStack 的開端希俩。一個真正的云操作系統(tǒng)將提供一個從設(shè)計上就能保證基礎(chǔ)設(shè)施團隊能成功交付服務(wù)的以運維為核心的云管理工具套件。這些管理工具將提供:

  • 可重用的架構(gòu)模型纲辽,通常使用參考網(wǎng)絡(luò)架構(gòu)將小集群( pod )或者組( block )連接在在一起
  • 初始云安裝和部署
  • 典型的日常云運維工具颜武,包括日志、系統(tǒng)測量值和相關(guān)度分析
  • 供云運維人員使用的用來做整合和自動化的 CLI 和 API
  • 用于可視化和分析的云運維圖形界面

OneAPM 的出現(xiàn)拖吼,使得企業(yè)可以縮減龐大運維團隊的開支鳞上, OneAPM 的產(chǎn)品能幫助你進行應(yīng)用性能分析、告警吊档、日志分析記錄篙议,并能實現(xiàn)代碼級的故障診斷。

  • 3.開放的架構(gòu)

OpenStack 的開放架構(gòu),能夠減少廠商鎖定鬼贱,進而降低風(fēng)險移怯。

  • 4.混合云兼容性

目前環(huán)境下,混合云兼具私有云安全性與公有云的彈性擴展能力这难,混合云必然成為企業(yè)云部署的第一選擇舟误。根據(jù)應(yīng)用類別和業(yè)務(wù)特點,將關(guān)鍵應(yīng)用雁佳、性能敏感型脐帝、中高密級應(yīng)用部署在私有云同云,其他應(yīng)用部署在公有云糖权;將同一個應(yīng)用的不同層部署在不同云中,時延敏感業(yè)務(wù)就近用戶部署炸站,提升最終用戶體驗星澳; Web Front 支持 Web 服務(wù)靈活擴展,集中控制關(guān)鍵數(shù)據(jù)旱易;突發(fā)型應(yīng)用禁偎,私有云資源不足時(如 Web 網(wǎng)站),向公有云臨時租借資源阀坏。
混合云的難點在于解決應(yīng)用的移植性問題如暖。如果你需要一個公有云和私有云組合而成的混合云,不管應(yīng)用在某個云中被開發(fā)忌堂,還是要在兩個云之間做遷移盒至,或者從一個云到另一個云,應(yīng)用的可移植性都是必須的士修。當你選定一個應(yīng)用以及它的云原生的自動化框架枷遂,并將它們從一個云移動到另一個云中,一些關(guān)鍵的東西必須保持一致:

  • 性能相對平穩(wěn)
  • 底層的存儲棋嘲、網(wǎng)絡(luò)和計算架構(gòu)保持一致或者近似
  • 你應(yīng)用的自動化框架必須和兩個云中的 API 都兼容
  • 每個云中酒唉,運行應(yīng)用的總成本( TCO )都應(yīng)該在1/2-2倍的范圍之內(nèi)
  • 還有行為上的兼容性,意味著非 API 功能也需要吻合
  • 支持與相關(guān)公有云 API 的兼容

5.可擴展的彈性架構(gòu)

「當我們在系統(tǒng)中增加資源后沸移,其性能會按照所增加資源的某種比例增加時痪伦,我們就可以說其服務(wù)是可擴展的”⒙啵」

從多方面看网沾, OpenStack 自身就是個高擴展性的系統(tǒng)。它被設(shè)計為松耦合笆制、基于消息通信的架構(gòu)绅这,這些技術(shù)在已經(jīng)在各種中級到高級擴展的系統(tǒng)中得到應(yīng)用和驗證,它們也可以適應(yīng)小規(guī)模的部署在辆。問題在于當你配置和部署 OpenStack 時所做的設(shè)計上的決定证薇。

一部分默認的配置度苔,以及許多廠商的插件和方案在設(shè)計時并沒有考慮擴展性。

基礎(chǔ)架構(gòu)從來沒有真正的彈性過浑度,可是它的特性能支持彈性的應(yīng)用在它上面運行寇窑。一個彈性云,需要被設(shè)計為每個資源箩张,比如虛機甩骏、塊存儲和對象存儲,其成本盡可能的低先慷。這和杰文斯悖論( Jevon’s Paradox )直接相關(guān)饮笛,他說隨著技術(shù)的進步,效率的提升將會帶來該技術(shù)被采用速度的提升论熙。

  • 6.全面的支持和服務(wù)

總結(jié):
OpenStack 作為一個可擴展的打造下一代彈性云的基礎(chǔ)架構(gòu)福青,盡管它還不是很完美。但作為一個開源項目脓诡,它的吸引力確實不容小視无午。基于平臺開放祝谚,會有越來越多的力量促使它更完善和強大宪迟,采用 OpenStack 意味著企業(yè)云平臺會更加自主可控,并實現(xiàn)技術(shù)沉淀和自動化運維水平的提升交惯。

參考文獻: The 6 Requirements of Enterprise-grade OpenStack

OneAPM 是中國基礎(chǔ)軟件領(lǐng)域的新興領(lǐng)軍企業(yè)次泽。致力于幫助企業(yè)用戶提供全棧式的性能管理以及 IT 運維管理服務(wù),通過一個探針就能夠完成日志分析商玫、安全防護箕憾、 APM 基礎(chǔ)組件監(jiān)控、集成報警以及大數(shù)據(jù)分析等功能拳昌。想閱讀更多優(yōu)秀文章袭异,請訪問 OneAPM 官方技術(shù)博客 OneAPM 官方技術(shù)博客
本文轉(zhuǎn)自 OneAPM 官方博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市炬藤,隨后出現(xiàn)的幾起案子御铃,更是在濱河造成了極大的恐慌,老刑警劉巖沈矿,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件上真,死亡現(xiàn)場離奇詭異,居然都是意外死亡羹膳,警方通過查閱死者的電腦和手機睡互,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人就珠,你說我怎么就攤上這事寇壳。” “怎么了妻怎?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵壳炎,是天一觀的道長。 經(jīng)常有香客問我逼侦,道長匿辩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任榛丢,我火速辦了婚禮铲球,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘涕滋。我一直安慰自己睬辐,他們只是感情好挠阁,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布宾肺。 她就那樣靜靜地躺著,像睡著了一般侵俗。 火紅的嫁衣襯著肌膚如雪锨用。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天隘谣,我揣著相機與錄音增拥,去河邊找鬼。 笑死寻歧,一個胖子當著我的面吹牛掌栅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播码泛,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼猾封,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了噪珊?” 一聲冷哼從身側(cè)響起晌缘,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎痢站,沒想到半個月后磷箕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡阵难,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年岳枷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡空繁,死狀恐怖氢烘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情家厌,我是刑警寧澤播玖,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站饭于,受9級特大地震影響蜀踏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜掰吕,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一果覆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧殖熟,春花似錦局待、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至纽门,卻和暖如春薛耻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背赏陵。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工饼齿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蝙搔。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓缕溉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親吃型。 傳聞我的和親對象是個殘疾皇子证鸥,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容