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