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