學習 OpenStack 的方法論 - 天天5分鐘玩轉 OpenStack(150)


做爲 OpenStack 的核心教程,咱們已經到了最後總結的部分。 網絡


OpenStack 目前已經有好幾十個模塊,本教程討論的是最最重要的核心模塊:Keystone,Nova,Glance,Cinder 和 Neutron。請你們看下圖: 架構


此圖截自 https://www.openstack.org/software/project-navigator/,這是 OpenStack 官方定義的 6 個 Core Service。每一個模塊都會從三個維度來衡量: 運維

  1. ADOPTION - 採用度 性能

  2. MATURITY - 成熟度 學習

  3. AGE - 年齡 雲計算

ADOPTION 和 MATURITY 是最關鍵的兩個指標。 spa


咱們先來看 ADOPTION。模塊的 ADOPTION 若是能達到 90%,基本上能夠說只要使用 OpenStack 就會部署此模塊。 設計


MATURITY 8 爲滿分,若是是 七、8 分的 MATURITY,那麼這個模塊的架構就很是穩定,功能也很完善了,應該說達到了上生產的水平。 日誌


其實 CloudMan 在考慮教程覆蓋的技術範圍時也是參考了這張圖,採用度和成熟度都高的模塊纔是咱們應該重點研究的技術。你們可能已經注意到,在 6 個 Core Service 中,Swift 沒有被歸入到此教程。Swift 是對象存儲,成熟度很高,在互聯網行業中應用很是普遍,但在傳統應用領域使用還很少。OpenStack 目前主要仍是用於私有云,因此 ADOPTION 方面受到了限制,還不到 50%。這也是 CloudMan 暫時沒有將它放到本教程的主要緣由。 orm


咱們所處是一個知識更新迭代很是快的行業,若是兩三年不學習可能就會有被淘汰的危險。學習新技術是 IT 從業者平常工做的一部分,既然選擇作這行就必需要面對這個的現實。


對於如何學習新技術,CloudMan 有一些我的的建議,借這個機會跟你們交流一下。


哪些技術應該優先學習?


咱們的時間和精力都是有限的,而新技術新知識是不少的,這時候就必須考慮一個效能問題:用最少的時間掌握最有價值的技能


哪些技能最有價值呢?


個人 第一個判斷標準是:選擇那些將來必將流行和大規模使用技能。好比 OpenStack,目前已是 IaaS 事實上的標準,社區活躍,又有大廠商積極參與,更重要的是愈來愈多重量級企業開始部署和實踐 OpenStack,發展勢頭強勁。另外一方面 OpenStack 的技術人才缺口很大,稀缺性決定了價值,因此咱們看到了人才市場對 OpenStack 的青睞。


好,假設咱們都贊成 OpenStack 是應該學習的技能了(否則你也不會看這個文章了 :-),那麼接下來的問題是 OpenStack 模塊這麼多,我要怎樣學呢?是都學嗎?按什麼順序學呢?這就是個人 第二個判斷標準:學那些 ADOPTION 和 MATURITY 都高的技能


ADOPTION 高意味着市場有需求,學了就能用。MATURITY 高意味着技術架構已經成熟和穩定,學了以後的在至關長時間內都有效,不過期。下面找兩個模塊具體分析一下。


先來看 Swift,前面說了,這個技術互聯網企業用得多但傳統企業目前應用有限,若是你就任於傳統企業,花時間學習 Swift 確定不是一件划算的投資。固然,若是你已經明確知道本身公司會用對象存儲,那則是另一回事了。


另外一個模塊是 Ceilometer,它屬於 OpenStack optional service。請先看下圖:



Ceilometer 的主要做用是收集 OpenStack 的性能數據和事件,對於運維仍是很是重要的,因此咱們看到它的 ADOPTION 還能夠,62 %。不過成熟度過低。事實也是如此,幾乎 OpenStack 的每一個版本 Ceilometer 架構和代碼都有不少變化,雖然是一個頗有前景的模塊,但咱們若是花太多時間去研究,可能半年以後又得花大力氣從新學習一遍,由於可能已通過時了。對於 OpenStack 的大部分技術人員,CloudMan 並不建議花太多精力在 Ceilometer 上。固然若是你的職責是要實現 OpenStack 的性能監控或者計量計費,Ceilometer 應該是繞不過去的坎。


在 optional service 有一個 ADOPTION 和 MATURITY 都還能夠的模塊 - Heat。這個模塊是用來作編排的,其實頗有價值,好比能夠實現虛擬機的 auto scaling。CloudMan 若是要更新教程,Heat 確定不會錯過。


如何學習?


簡單的說就是:理論聯繫實際


要掌握 IT 技術說難吧,確實,像 OpenStack 這種體系結構大而複雜的,是有難度。但從另外一方面看,若是輕鬆就能學會,咱們技術人員的價值也就不大了。我沒有看到哪一個公司願意花大價錢僱一個 VMware 管理員。


對於 IT 技術,最好的學習方法是邊學邊實踐。剛開始搞不太清楚原理和底層細節不要緊,先裝上跑起來,能運行一個最小案例,先創建起感性認識和正反饋很重要。而後再根據文檔從架構到細節,從原理到實現一步一步探索。這也是 CloudMan 在教程中儘可能遵循的方法。每一章都設計了大量的實踐操做環節,經過截圖和日誌幫助你們理解各個技術要點。在教程的編寫過程爲了其中一個實驗我會嘗試不一樣的場景和邊界條件,最後呈現給你們的是最典型的場景。很是鼓勵你們跟着作實驗,說實話,僅僅看一遍教程我不以爲會有多大收穫,固然若是你的目的只是瞭解 OpenStack 能幹些什麼則另當別論。


如何使用這個教程?


本教程對讀者應該會有兩個做用:


  1. 初學者能夠按照章節順序系統地學習 OpenStack,並經過教程中的實驗掌握 OpenStack 的理論知識和實操技能。


  2. 有經驗的運維人員能夠將本教程當作參考材料,在實際工做中有針對性地查看相關知識點。

繼續學習的建議


若是你們想更深刻地學習 OpenStack,個人建議是:首先確保掌握本教程的知識點,由於這是基礎。掌握的含義是理論可以聯繫實踐。能部署,會操做,能看日誌,會排查問題。以後嘛?我相信當你作到前面這點後就已經具有了自學其餘模塊或者更深刻學習某個 core service 的能力了。


對新教程的想法


OpenStack 這個教程暫時告一段落了,之因此是「暫時」,是由於目前尚未別的模塊知足咱們前面的那兩個選擇條件。當有新模塊知足條件後,CloudMan 會繼續更新這個教程,目前看,比較有但願的是 Heat 和 Swift。再次說明,這並非說其餘模塊就不值得學習,只是做爲教程內容不適合,由於教程是面向大多數人的。若是你本身有工做或興趣上的需求,固然能夠自學。就拿 CloudMan 來講,有的客戶須要計費功能,我也花了很多時間去研究 Cloudkitty 模塊。


另外,核心模塊中若是有一些新的有價值特性,我也會擇機更新教程。


除此以外,還有什麼技術知足那兩個選擇條件呢?若是你足夠敏銳,相信會給出這個答案 - 容器


容器是雲計算的另外一大趨勢,並且圍繞 Docker 創建的容器生態愈來愈成熟,因此 CloudMan 下一個教程就叫 《天天5分鐘玩轉容器技術》。在這個教程中會涉及容器生態系統中最核心的幾個方面:容器、鏡像、網絡、存儲、編排引擎、管理平臺和基於容器的 PaaS。


不過在開始這個新教程以前,CloudMan 還想跟你們分享一些我的這幾年在 OpenStack 項目實踐中總結和積累的實用技能和經驗,做爲對教程的補充。這個部分會有 10 篇左右,每篇一個技能或案例。


公衆號仍是每週 一、三、5 更新,感謝你們過去一年的陪伴,2017 咱們繼續攜手前行。


相關文章
相關標籤/搜索