你真的了解 DevOps 嗎?
與大數(shù)據(jù)和PRISM(NSA的監(jiān)控項(xiàng)目之一),DevOps(開發(fā)運(yùn)維)如今是科技人士掛在嘴邊的熱詞,但遺憾的是,類似圣經(jīng),每個(gè)人都引用DevOps的只言片語,但真正理解并能執(zhí)行的人極少。根據(jù)CA的一項(xiàng)調(diào)查,45%的受訪者并不了解DevOps的含義,其余則有17%認(rèn)為DevOps只不過是炒作。
DevOps如今幾乎成了創(chuàng)新的同義詞,但其原本的含義卻在業(yè)界的流傳中被人們棄之腦后。
在開發(fā)者圈子中,DevOps專業(yè)人士經(jīng)常是被嘲弄的對(duì)象,例如下面這個(gè)專門惡搞的Twitter帳號(hào):DevOps Borat.
饒是如此,DevOps也成了類似數(shù)據(jù)科學(xué)家的性感職位。雖然在一些企業(yè),DevOps還只停留在紙面上,但更多的企業(yè)的業(yè)務(wù)發(fā)展確實(shí)需要DevOps專業(yè)人才,人才市場(chǎng)對(duì)DevOps技術(shù)人員的需求非常旺盛,根據(jù)科技人才招聘網(wǎng)站Dice.com最近的統(tǒng)計(jì),今年9月份DevOps的招聘職位數(shù)量高達(dá)500個(gè),而去年同期只有200。
事實(shí)表明DevOps口惠而實(shí)不至的口水詞,根據(jù)IT自動(dòng)化服務(wù)商Puppet Labs的最新報(bào)告《2013年DevOps現(xiàn)狀報(bào)告》,采用DevOps的企業(yè)的軟件代碼生產(chǎn)速度是不采用DevOps企業(yè)的30倍!同時(shí)將錯(cuò)誤率降低了50%。
為了深入探討DevOps這個(gè)話題,以及搞清楚為什么DevOps工程師在企業(yè)招聘市場(chǎng)一將難求,VB的記者近日采訪了戴爾的云計(jì)算開發(fā)總監(jiān)Barton George, George本人也經(jīng)常寫博客討論搭建DevOps團(tuán)隊(duì)的好處。IT經(jīng)理網(wǎng)將采訪內(nèi)容編譯整理如下:
問:DevOps這個(gè)概念是怎么來的?
答:DevOps起源于亞馬遜和Google這樣的大型互聯(lián)網(wǎng)公司,這些公司需要員工緊密協(xié)作,同時(shí)又不希望出現(xiàn)部門割據(jù)。
問:開發(fā)人員和運(yùn)營人員的目標(biāo)有很大差異嗎?
答:是的,他們有著相反的目標(biāo),開發(fā)者一心都在創(chuàng)新上,讓事情看上去更酷;而運(yùn)維人員最關(guān)心的則是網(wǎng)站運(yùn)行的平穩(wěn),不要宕機(jī),但開發(fā)者可不會(huì)關(guān)心這個(gè)。
我記得2001年2月份發(fā)布的“敏捷宣言”是一個(gè)里程碑,打那時(shí)起開發(fā)者開始關(guān)心如何走近客戶,了解他們的真實(shí)需求。開發(fā)者開始更多關(guān)注如何加快開發(fā)周期,寫出更容易實(shí)現(xiàn)的代碼、更好的用戶體驗(yàn),而不是更酷的功能。
相比之下運(yùn)維人員并未經(jīng)歷類似太多變化,于是DevOps模式應(yīng)運(yùn)而生。
問:敏捷開發(fā)到底什么意思?你認(rèn)為這僅僅意味著快速嗎?
答:簡(jiǎn)單來說,敏捷開發(fā)意味著更多的迭代:更早更頻繁地發(fā)布產(chǎn)品更新。先把東西做出來,而不是像過去那樣過于憂慮產(chǎn)品是否完美。這就是那個(gè)“永遠(yuǎn)beta版”的概念,30天把原型快速搞出來,然后看看人們到底怎么想。敏捷的字面意思就是快速改變的能力。
如果你能更快發(fā)布,你就能跟上市場(chǎng)的節(jié)奏隨時(shí)調(diào)整。
問:DevOps與開源運(yùn)動(dòng)的關(guān)系是怎樣的?
答:兩者是并行的。DevOps是一個(gè)文化運(yùn)動(dòng),借用了開源的很多協(xié)作概念,本質(zhì)上是團(tuán)隊(duì)協(xié)作的文化。
問:企業(yè)如何從DevOps能力中受益?
答:DevOps的目標(biāo)是流程的自動(dòng)化——讓代碼完成過去手工的工作,從而大大節(jié)省成本。
DevOps的最終目的是提高你的客戶響應(yīng)能力。如果網(wǎng)站宕機(jī)了,你自然就無法服務(wù)你的客戶了,你發(fā)現(xiàn)問題的速度越快,成本就越低。
DevOps團(tuán)隊(duì)的特點(diǎn)是能讓你為客戶提供更多功能,而且不會(huì)把網(wǎng)站搞垮。
問:DevOps通常適用于大企業(yè)還是斗志昂揚(yáng)的小企業(yè)?
答:DevOps更多會(huì)與大企業(yè)有關(guān)。小企業(yè)的協(xié)作本來就不是很難。但是類似Google或Netflix這樣的企業(yè)每天都會(huì)推送大量代碼,出現(xiàn)bug的幾率很高,而Puppet和Chef這樣的開發(fā)工具能幫助系統(tǒng)管理員將很多工作自動(dòng)化,并應(yīng)對(duì)最艱巨的基礎(chǔ)設(shè)施挑戰(zhàn)。
問:你最常聽到的對(duì)DevOps的誤解或疑點(diǎn)都有哪些?
答:DevOps不僅僅適用于高科技公司,我一年前聽過一個(gè)網(wǎng)絡(luò)研討會(huì),是關(guān)于中西部一個(gè)金融公司如何開展DevOps的,DevOps絕不是硅谷的專屬品。
事實(shí)上任何希望變得更加敏捷的人都可以運(yùn)用DevOps。以我的觀點(diǎn),DevOps是IT部門保持其存在感的一種方法。我們經(jīng)??吹狡髽I(yè)中的IT部門被排擠,因?yàn)轭A(yù)算受制于其他業(yè)務(wù)部門。有了DevOps,IT可以更早地參與到業(yè)務(wù)流程中,IT主管們可以沖著開發(fā)團(tuán)隊(duì)嚷嚷:“嗨,伙計(jì)們!我們?nèi)绾螌?shí)現(xiàn)這個(gè)需求?我們需要什么樣的自動(dòng)化工具?”,而不是像過去那樣,搞出成噸的代碼后黃瓜菜都涼了。
關(guān)于DevOps:
(以下摘自Wikipedia)
DevOps(英文Development和Operations的組合)是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進(jìn)開發(fā)(應(yīng)用程序/軟件工程)、技術(shù)運(yùn)營和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合。[1] 它的出現(xiàn)是由于軟件行業(yè)日益清晰地認(rèn)識(shí)到:為了按時(shí)交付軟件產(chǎn)品和服務(wù),開發(fā)和運(yùn)營工作必須緊密合作。
以下幾方面因素可能促使一個(gè)組織引入DevOps:
- 使用敏捷或其他軟件開發(fā)過程與方法
- 業(yè)務(wù)負(fù)責(zé)人要求加快產(chǎn)品交付的速率
- 虛擬化和云計(jì)算基礎(chǔ)設(shè)施(可能來自內(nèi)部或外部供應(yīng)商)日益普遍
- 數(shù)據(jù)中心自動(dòng)化技術(shù)和配置管理工具的普及
- 有一種觀點(diǎn)認(rèn)為,目前占主導(dǎo)地位的“傳統(tǒng)”美國式管理風(fēng)格(“斯隆模型 vs 豐田模型”)會(huì)導(dǎo)致“煙囪式自動(dòng)化”,從而造成開發(fā)與運(yùn)營之間的鴻溝,因此需要DevOps能力來克服由此引發(fā)的問題。