實戰專家陳沙克:跨越OpenStack學習障礙的正確姿勢
原創[編者按]
沒有人會否認,對于未來的公司IT來說,云的重要性。它能夠讓計算、網絡和存儲具備***的容量和擴展能力,同時消除目前昂貴的開銷負擔,也不再需要IT承擔現在所需要承擔的負責。從向,企向云端遷移無非采用兩種形式:創建私有云或者使用大型公有云運營商提供的云服務。OpenStack的出現則讓人眼前一亮:它旨在打造易于部署、功能豐富且易于擴展的云計算平臺有可與公有云媲美的近實時擴展能力。
OpenStack已逐漸成為企業打造云平臺的***, 但其作為一個龐大而專業的新興系統,有很高的技術門檻。又到畢業季,相信有很多職場新人將從事與云計算相關的工作。雖然目前在高校中不乏與大數據、云計算相關的專業,但我們學到的知認很難與實際應用結合起來。為了幫助畢業生和職場新人,51cto邀約多年深耕于開源云計算平臺Openstack技術的陳沙克老師,為各位同學指點迷津。
關于作者:
陳沙克 國內OpenStack實戰性專家
陳沙克,(微博:chenshake,個人網站:www.chenshake.com ),開源和OpenStack愛好者。
陳沙克從2007年開始接觸VMWare的ESX,一直從事虛擬化和云計算相關的工作,從2010年開始,一直關注,了解和推廣Openstack,希望可以把Openstack產品化,幫助企業把傳統的IT業務遷移到云里。
以下為作者原文。
由于工作的關系,我們最近在招收實習生。希望可以通培養,讓實習生對Openstack熟悉起來。在這個過程中,我看到了很多新人在學習和了解OpenStack過程中的障礙和誤區,使我產生了很多想法,來和大進行交流。
如何學習和了解OpenStack,其實和如何了解一個開源軟是差不多的。國內由于很多原因,很多人都喜歡看中文的資料去了解和熟悉一個開源軟件,這樣其實效率是很低的。
引用微博的一段話:
| 【一萬小時法則】一項研究顯示,在任何領域取得成功的關鍵跟天分無關,只是練習的問題,需要練習1萬個小時——10年內,每周練習20小時,大概每天3小時。中國有句古話“十年磨一劍”,其道理可謂異曲同工,沒有幾個會拒絕成功。但站立在金字塔頂的成功者,往往是少數人。 |
Openstac也不例外。就算是Openstack的Core,也不要以為他們什么都理解,都懂。其實他們僅僅是投入時間比你多一點而已。獲取一個Openstack項目的Core,你至少是需要投入5000個小時。
文章導讀
1 官方網站
2 launchpad網站
3 stackalytics網站
4 郵件列表
5 IRC會議
6 Devstack
7 參與Openstack開發
8 Linux,KVM和網絡
9 Slideshare和Youtube
10 大學生建議
#p#
官方網站
任何成熟的開源網站,它的官方網站的資料是最豐富的。你如果可以熟練在官方網站找到你需要的東西,那么就說明你對這個開源軟件已經比較熟悉,Openstack也不例外。你需要的是花大量的時間去閱讀Openstack官方網站上的資料。
目前OpenStack的官方文檔,已經非常完備。
launchpad網站
這是Openstack的項目管理的網站,通過這里,你可以看到Opentstack項目的組件的Blueprints和bugs列表,閱讀這些你就基本可以了解到Openstack過去,現在和未來。
https://launchpad.net/nova/+series 把nova更換成Openstack組件名字就可以。
stackalytics網站
這個網站非常有意思,尤其對于想了解大數據的朋友。Openstack項目非常龐大,那么那個公司的貢獻最多呢,不同的維度,得到的結論是不同的。
http://stackalytics.com/ Openstack目前到底有多少模塊在開發,他們的活躍度如何,背后有什么大公司在支持,基本都是可以通過這里獲得。
郵件列表
訂閱郵件列表,這樣你可以了解到Openstack的目前狀況。閱讀郵件列表,其實非常累,不過通過一段時間的閱讀,其實可以幫助你了解到很多通過官方網站無法了解到情況。例如國內的那家公司,參與OpenStack開發比較多,用戶使用OpenStack主要的問題是啥。
郵件列表的地址,都是可以通過官方網站獲得。
IRC會議
這個其實是開源軟件常用的交流方式,一般來說,我們的英文不太好,反應也慢點,要在IRC里,提問,回答都是有點困難。不過OpenStack的IRC會議,都是有記錄的,你是可以通過閱讀IRC來了解項目的進展。這個其實是非常消耗精力的活,一個人的精力,估計能盯住一個模塊就不容易。
http://eavesdrop.openstack.org/meetings/
Devstack
如果你希望從事Openstack開發,那么你就能用OpenStack搭建開發環境,那么Devstack的安裝和使用,是必須的。通過閱讀Devstack的安裝腳本,其實Openstack的安裝,對你來說,就顯得比較簡單了。
目前Devstack支持的比較好,應該是Ubuntu,建議你使用Ubuntu 14.04來搭建你的開發環境
http://docs.openstack.org/developer/devstack/
Openstack是用Python開發的,對于程序員來說,其實很好理解,只需要投入時間進去,就會有收獲。
參與Openstack開發
要想了解Openstack的開發模式,其實只看是不行的,你也無法理解為啥這樣做。你必須動手去參與Openstack開發。參與開發,其實不見得是提交代碼,參與代碼的review,了解Openstack的代碼開發規范,對你自己的成長,還是非常有幫助。
如何提交代碼的視頻,介紹如何提交代碼的中文資料,其實很多。詳細可以看孔令賢的這篇文章:《如何向OpenStack社區貢獻代碼》
Openstack的代碼開發流程,其實和你想象的會有很大的差異,***次提交代碼,很多人都折騰好幾個月,不過最終還是覺得這個時間花的還是很值得的。
Linux,KVM和網絡
其實Openstack只是管理工具,真正考驗你的是linux和KVM能力,一般的系統管理員,對linux和KVM,都算可以,不過對于網絡,可能就比較陌生。在Openstack上,你是無法逃避的,很多問題都會和網絡密不可分。
你需要了解linux bridge,Openvswitch,學會抓包,這樣你才具備能力去解決問題。
Slideshare和Youtube
了解一個開源軟件,其實簡單的辦法,就是去Slideshare把相關的PPT讀完,到Youtube把相關的視頻看完,你就對軟件有一個整體的理解,對于Openstack,其實也不例外。
其實作為一個技術人員,真的必須掌握一些技巧和能力,去看Slideshare和Youtube。通過視頻和PPT,效率會高很多的。
#p#
給畢業生的建議
如果你是即將畢業的大學生,希望日后從事Openstack相關的工作。那么其實我建議:
- 熟悉linux,***能用linux作為桌面,增加你使用linux的時間,有條件參加紅帽的證書認證
- 使用Git,***的方式就是在github做一個blog,記錄自己日常的經驗和教訓,這個非常重要,掌握學習方法比你懂啥更加重要
- 配置管理工具:ansible
- 熟悉KVM,linux Bridge,這都是基礎。
- 網絡如果可以達到CCNA的水平,其實是***的,這樣對你日后理解Openstack的網絡有很大的幫助。
- 養成英文閱讀習慣,這個和所謂英語能力基本沒任何關系,英語真的不是學出來,是逼出來的。
今年我給我這邊的實習生出了一道題目
使用配置管理工具ansible或者Saltstack,去云里(青云或者微軟的Azure),
- 調用api接口,開一個虛擬機,
- 安裝gitlab,
- 定期備份到對象存儲上,
- 并且你可以實現定期的更新。
- 加入zabbix監控監控所有的服務
- 日志收集到elk(elasticsearch+logstash+kibana)
- 整個過程,你不需要人工登錄虛擬機,全部都是通過配置管理工具,遠程來完成。
可惜由于時間的問題,還沒有完成。那位朋友完成全過程的,可以分享分享。
OpenStack已逐漸成為打造云平臺的***技術, 其作為一個龐大而專業的新興系統,具有一定的使用門檻。但在目前高校學習中,鮮有與OpenStack直接相關的專業。
很多大學都很時髦,設置什么大數據專業,云計算專業。其實很多時候,這些專業都很虛,老師在大數據的時候還在講啤酒和尿布的故事,真的是比較搞笑的事情的。試想一下,你分析出啤酒和尿布的關系的情況下,那么超市應該是把兩者的距離放的更近還是更遠呢?這個問題估計老師都沒考慮過,就到處出去忽悠學生。(Intel中國研究院***工程師吳甘沙在一次報告中透露:所謂“啤酒加尿布”的數據挖掘經典案例,其實是Teradata公司一位經理編出來的“故事”,歷史上并沒有發生過!)
在大學里,其實學生的專業更加需要注重的是基礎,操作系統原理,linux內核這些。如果你真的對這些很熟悉的話,那么你到社會上,無論是啥stack,都是可以應付。你在大學里學了某stack的專業,畢業的時候,很可能已經開始走下坡路。
這是一位朋友的微博寫的,我就轉載一下,你把java換成Python,應該就可以明白。
| “ 計算機專業的大一,有激情有時間,是學習的黃金時間。如果能在上好正式課程之外,在這一年期間熟練地掌握兩種編程語言(C,Java),熟悉一個操作系統 (Linux),動手寫1萬行代碼,就為四年大學開了一個好頭。不要指望有老師一步步地帶著你,自力更生,自主學習,用好圖書館與互聯網,足矣。” |





























