[譯] 企業級 OpenStack 的六大需求(第 3 部分):彈性架構、全球交付

全文包括三部分:html

需求 5 - 擴展、彈性和性能

  企業級的內容很豐富。過去,企業級每每和高可靠、高擴展和高性能的高質量系統相關。漸漸地,企業級的含義開始演變爲 」雲級(coud-grade)「 或者 」網絡級規模(web-scale)「。我想表達的是,隨着 IT 時代向下一代應用演進,以及企業紛紛採用新的 IT 模型,交付一個高質量系統的需求也發生了很大的變化。web

  我喜歡的一個例子是 Hadoop。隨 Hadoop 而來的是它的一個參考架構,包括使用商用服務器、商用磁盤、不使用 RAID。上次你看到一個企業基礎架構方案沒有使用硬件級的數據保護仍是何時呢?固然,儘管我也看到過,咱們是沒有必要在鏈接光纖存儲網絡的高級刀片服務器上運行 Hadoop 的。甚至微軟 Exchange 也開始推薦從 RAID 向 JBOD 演進,他們轉而依賴應用軟件層去容錯。apache

  咱們來具體看看企業級 OpenStack 的三大需求。編程

  擴展性和性能(Scalability & Performance)

  擴展性是系統可以知足不斷增加的系統規模和負載需求的一個特性。性能是系統內單個資源而不是系統自己的吞吐量的維度。也許亞馬遜的CTO Werner Vogels 說的最好:安全

  」當咱們在系統中增長資源後,其性能會按照所增長資源的某種比例增長時,咱們就能夠說其服務是可擴展的。「服務器

  從多方面看,OpenStack 自身就是個高擴展性的系統。它被設計爲鬆耦合、基於消息通訊的架構 - 這些技術在已經在各類中級到高級擴展的系統中獲得應用和驗證,它們也能夠適應小規模的部署。問題在於當你配置和部署 OpenStack 時所作的設計上的決定。一部分默認的配置,以及許多廠商的插件和方案在設計時並無考慮擴展性。從前面的文章中你會了解到,一個參考架構對於部署混合雲是很是的關鍵。你須要肯定的是,你所選擇的企業級產品的參考架構在選擇它的各類組件和配置項時就已經考慮到了擴展性和性能。網絡

  一個完整的規模和性能測試超出了了本文所討論的範疇;然而,咱們須要注意到大多數用戶會碰到的頭號問題:網絡性能和擴展性。架構

  OpenStack默認使用的網絡是個半成品(OpenStack Default Networking is a Bust OpenStack)

  OpenStack 計算(Nova)有三種內在的默認網絡模型:flat,single_host 和 multi_host。這三種網絡模式對大多數企業來講都是沒法接受的。除了這些默認的網絡模型,你還能夠部署 OpenStack 網絡(Neutron),它使用一種高度插件式架構,支持若干不一樣的廠商插件去管理物理網絡設備以及網絡虛擬設備(所謂的軟件定義網絡 SDN)。框架

  接下來我會依次介紹 Nova 默認的網絡模型。我會盡可能地簡單,可是若是在未來有機會須要更詳細地闡述,我也會很樂意去作。flat 和 multi_host 網絡模型中全部的浮動 IP 地址須要一個共享的 VLAN。這就要求你的物理網絡使用 STP 協議,而它是一個在你須要高速網絡時很是有名的危險辦法。我在屢次會議上問過與會者:「多少人認爲 STP 很惡劣?」,而後幾乎會議室內的全部人都舉手了。運維

  也許更重要的,flat 和 multi_host 網絡模型要求網絡流量從你的公共 IP 地址通過你網絡的邊界路由到 Hypervisor 節點。這在任何現代企業中都是不可接受的。下面是 multi_host 的示意圖:

  當你使用 multil_host 網絡模型時,你須要可以將代碼部署到 Hypervisor 上,有時候這也許沒什麼,可是在 ESXi 或者 Hyper-V 平臺上你就沒那麼幸運了。

  相對地,single_host 模型的問題在於,它將一個x86服務器做爲核心網絡的中心(hub),全部 VLAN 和 Internet 之間的網絡流量都得通過它。基本上,你能夠將你高性能交換機扔進垃圾桶了,由於你的網絡最大帶寬將取決於那個 Linux 服務器。一樣,這不是一個對網絡來講可以接受的方式。可是公平地說,OpenStack 的競爭對手們也是用一個相似的方式。下面是 single_host 模型的示意圖:

  全部這些方法都有基礎性的擴展性和性能問題。這也是爲何後來有了Neutron。

 膽小的人不合適依賴 Neutron (Depending on OpenStack Neutron NOT for the Faint of Heart)

  直到2013年9月,就像在 Argonne National Labs (ANL) 的 Scott Devoid 發給 OpenStack 運維人員的郵件列表中描述的那樣,看起來 Neutron 仍然有嚴重的問題。在我寫這篇文章的時候,Neutron 支持 single_host 和 flat 模式,可是不支持 multi_host 模式。顯然,咱們會在 Juno 版本中看到 multi_host 模式的替代者(譯者注:應該是指 DVR - 分佈式虛擬路由器),儘管這個功能已經缺位好久了。

  應該說,Neutron 已經有了長足的進步,實事求是地講,現在報出的不少問題都是來源於那些編程實現不佳的插件。也意味着,要想成功地使用 Neutron,你須要使用Neutron 核心功能加上那些在設計時就考慮了擴展性和性能的插件。再加上,你的雲操做系統的供應商應該擁有的一些被證實了的大規模的部署方式,以及使用一些窮盡式測試框架去儘量地排除網絡中的一些潛在問題。

  關於企業級OpenStack驅動的產品的性能和擴展性,我能夠說得更多。然而,上面這些應該可以讓你清楚,你須要跟你的供應商確認好他們已經瞭解並解決了這些問題。

  更重要的是,無論你用哪家供應商,他們都必須可以提供一個詳細的多機櫃式的參考網絡架構。若是沒有這種架構,你要從一個機櫃開始擴展的話,就會徹底依賴於你的供應商那些有效或者無效的所謂保證了。

  彈性(Elasticity)

  基礎架構歷來沒有真正的彈性過,但是它的特性能支持彈性的應用在它上面運行。一個彈性雲,須要被設計爲每一個資源,好比虛機、塊存儲和對象存儲,其成本儘量的低。這和傑文斯悖論( Jevon’s Paradox)直接相關,他說隨着技術的進步,效率的提高將會帶來該技術被採用速度的提高。

  

  簡單地說,隨着系統中各組件相對成本不斷降低,應用不只可使用更多的資源來保證容錯性,並且爲了按需擴展而可使用更多的資源。實質上,若是每一個組件和資源的成本儘量地低,你可讓資源池變得很大,以及購買更多的容量。主要的彈性雲,象 Google、亞馬遜 和微軟已經在提供這種特性,而這些正是你須要在你企業內爲了實現混合雲而所須要的。

  企業級 OpenStack 會經過同時支持彈性應用、擴展性和性能來引領你走向將來。當心那些須要讓你使用光纖存儲網絡和刀片服務器的 OpenStack 驅動的雲操做系統。那個時代已通過去了,就象咱們在 Hadoop 上看到的那樣。

  需求 6 - 全球性實施所須要的雲支持、培訓和服務模型 (Cloud Support, Training & Services Model for Global Enablement)

  假設你的企業是個全球性企業,計劃在你的私有云、公有云和混合雲上交付 7*24 小時運行的下一代雲原生應用,那麼你將須要這樣的供應商,他們可以支持你全球性的業務,有國際性運做經驗,以及可以支持 24x7x365 的環境。

  培訓你的IT管理員成爲新的雲管理員

  IT 管理員正在轉型爲雲管理員。這是在企業內部一個深層次的和持續性的變革。他們須要學習一系列全新的技術,以及其它技能,來適應新的雲時代。當你評估企業級私有云供應商時,你須要找一個家有出色培訓能力的公司,他們不只要在 OpenStack 層面,還要在其它的特定雲操做系統產品層面有相應能力。最重要的是,當評估一家能夠幫助你升級你團隊技術的供應商時,請注意確認他們不僅是來給你看看如何在 OpenStack 上作開發或者安裝 OpenStack 的。

 真正須要的運維爲中心的培訓應該聚焦在:

  • 典型的 OpenStack 架構和特定的產品框架
  • 各類架構的優劣勢和插件/驅動的選型
  • 擴展性、兼容性和性能問題及選型
  • 常見「全棧」問題定位和解決方法
  • 向開發人員介紹如何使用雲
  • 理解雲原生應用模型

  雲支持模型(Cloud Support Model)

  無論你的 IT 團隊如何優秀,你都須要一個值得信賴的支持團隊 - 一個能夠端到端完整支持你整個系統的團隊。請確認你的供應商以前有過支持高事務 24*7 環境的經驗。請確認他們有「全棧」的支持能力。他們有調試定位 Linux 內核問題的能力嗎?他們有幫助作 Hypervisor 選型、解決網絡架構和性能問題的能力嗎?他們深刻地理解存儲嗎?雲是整合的系統,其中計算、存儲和網絡都很是基礎性地互相整合。你的供應商須要好比何配置和開發 OpenStack 知道得多得多。他們必須是雲全棧專家。你必定要向他們提出這個要求。

  全球服務交付(Global Service Delivery)

  經過全球服務來交付雲,無論規模小仍是大,都不是簡單的事情。這種交付比只是部署要求的多得多。它須要瞭解各地的文化,須要可以瞭解每一個地區獨特的要求。打個比方,你知道大多數數據中心中對電力的擔憂大於對空間的擔憂,而在日本狀況是相反的嗎?在那裏,能使用盡可能小的空間是一個主要的優點。他們這種對空間的需求是很是獨特的。

  你的雲操做系統供應商須要有過國際交付的記錄,以及有一個全球合做夥伴網絡,他們能夠在特定區域提供幫助。

結論(Conclusion)

  OpenStack 是一個使人激動的可擴展的打造下一代彈性雲的基礎架構,可是它還不是完美的。全部和它差很少的開源產品都不是完美的。相反,每個產品都是一種雲操做系統的內核,均可以用來交付一個更加完整的、經得起檢驗的企業級雲操做系統(CloudOS)。你須要一個有經驗的企業供應商,來交付你的雲操做系統,不論是使用 OpenStack 仍是其它方案,我都但願你把這些需求放在心上。

  我但願大家會喜歡這個系列文章。最後小結一下,咱們談到了六大需求:

  1. 99.999% API 可用性和可擴展的雲控制面板
  2. 健壯的管理和安全模型
  3. 開放架構
  4. 混合雲兼容
  5. 擴展和彈性架構
  6. 全球支持和交付 

  當大家在評估各家供應商時,請確認你已經很清楚他們到底能夠知足這些需求中的多少。

 

  原文:The 6 Requirements of Enterprise-grade OpenStack, Part 3,Posted on May 6, 2014 by Randy Bias

相關文章
相關標籤/搜索