学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)
作為 OpenStack 的核心教程,我們已經到了最后總結的部分。
OpenStack 目前已經有好幾十個模塊,本教程討論的是最最重要的核心模塊:Keystone,Nova,Glance,Cinder 和 Neutron。請大家看下圖:
此圖截自?https://www.openstack.org/software/project-navigator/,這是?OpenStack 官方定義的 6 個 Core Service。每個模塊都會從三個維度來衡量:
ADOPTION - 采用度
MATURITY - 成熟度
AGE - 年齡
ADOPTION 和 MATURITY 是最關鍵的兩個指標。
我們先來看 ADOPTION。模塊的 ADOPTION 如果能達到 90%,基本上可以說只要使用 OpenStack 就會部署此模塊。
MATURITY 8 為滿分,如果是 7、8 分的 MATURITY,那么這個模塊的架構就非常穩定,功能也很完善了,應該說達到了上生產的水平。
其實 CloudMan 在考慮教程覆蓋的技術范圍時也是參考了這張圖,采用度和成熟度都高的模塊才是我們應該重點研究的技術。大家可能已經注意到,在 6 個 Core Service 中,Swift 沒有被納入到此教程。Swift 是對象存儲,成熟度很高,在互聯網行業中應用非常廣泛,但在傳統應用領域使用還不多。OpenStack 目前主要還是用于私有云,所以 ADOPTION 方面受到了限制,還不到 50%。這也是 CloudMan 暫時沒有將它放到本教程的主要原因。
我們所處是一個知識更新迭代非常快的行業,如果兩三年不學習可能就會有被淘汰的危險。學習新技術是 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 能干些什么則另當別論。
如何使用這個教程?
本教程對讀者應該會有兩個作用:
初學者可以按照章節順序系統地學習 OpenStack,并通過教程中的實驗掌握 OpenStack 的理論知識和實操技能。
有經驗的運維人員可以將本教程當做參考材料,在實際工作中有針對性地查看相關知識點。
繼續學習的建議
如果大家想更深入地學習 OpenStack,我的建議是:首先確保掌握本教程的知識點,因為這是基礎。掌握的含義是理論能夠聯系實踐。能部署,會操作,能看日志,會排查問題。之后嘛?我相信當你做到前面這點后就已經具備了自學其他模塊或者更深入學習某個 core service 的能力了。
對新教程的想法
OpenStack 這個教程暫時告一段落了,之所以是“暫時”,是因為目前還沒有別的模塊滿足我們前面的那兩個選擇條件。當有新模塊滿足條件后,CloudMan 會繼續更新這個教程,目前看,比較有希望的是 Heat 和 Swift。再次說明,這并不是說其他模塊就不值得學習,只是作為教程內容不適合,因為教程是面向大多數人的。如果你自己有工作或興趣上的需求,當然可以自學。就拿 CloudMan 來說,有的客戶需要計費功能,我也花了不少時間去研究 Cloudkitty 模塊。
另外,核心模塊中如果有一些新的有價值特性,我也會擇機更新教程。
除此之外,還有什么技術滿足那兩個選擇條件呢?如果你足夠敏銳,相信會給出這個答案 -?容器。
容器是云計算的另一大趨勢,而且圍繞 Docker 建立的容器生態越來越成熟,所以 CloudMan 下一個教程就叫?《每天5分鐘玩轉容器技術》。在這個教程中會涉及容器生態系統中最核心的幾個方面:容器、鏡像、網絡、存儲、編排引擎、管理平臺和基于容器的 PaaS。
不過在開始這個新教程之前,CloudMan 還想跟大家分享一些個人這幾年在 OpenStack 項目實踐中總結和積累的實用技能和經驗,作為對教程的補充。這個部分會有 10 篇左右,每篇一個技能或案例。
公眾號還是每周 1、3、5 更新,感謝大家過去一年的陪伴,2017 我們繼續攜手前行。
轉載于:https://www.cnblogs.com/CloudMan6/p/6391603.html
總結
以上是生活随笔為你收集整理的学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模拟操作和命名空间
- 下一篇: 国产奔驰c级新款什么时候上市,带你提前了