想象有這樣的一個世界:產(chǎn)品經(jīng)理、開發(fā)人員、QA人員、運(yùn)維人員和信息安全人員互相幫助,齊心協(xié)力,整個公司的業(yè)績蒸蒸日上。他們朝著一個共同的目標(biāo)努力奮斗,建立出從產(chǎn)品十劃直至功能上線的端到端的快速服務(wù)交付流水線(例如每天執(zhí)行幾十次、數(shù)百次甚至上千次代碼部署),在系統(tǒng)穩(wěn)定性、可靠性、可用性和安全性方面均達(dá)到了世界一流的水平。
在那里,跨職能團(tuán)隊嚴(yán)謹(jǐn)?shù)仳?yàn)證他們的假設(shè):哪些功能最能取悅用戶并能促進(jìn)企業(yè)目標(biāo)的實(shí)現(xiàn)。他們不僅關(guān)心用戶特性的實(shí)現(xiàn),而且還積極地保障交付能夠順暢、頻繁地通過整個交付價值鏈,同時,IT運(yùn)維部門、其他內(nèi)部或者外部客戶的系統(tǒng)都不會出現(xiàn)任何混亂及中斷。
在那里,QA人員、IT運(yùn)維人員和信息安全人員也會共同投身于團(tuán)隊文化建設(shè),致力于創(chuàng)造能使開發(fā)人員效率更高、產(chǎn)能更大的工作環(huán)境。通過將QA、IT運(yùn)維和信息安全等方面的專業(yè)人員共同融入交付團(tuán)隊,來構(gòu)建自動化的自助工具和平臺,所有團(tuán)隊在日常工作中就能夠隨時利用他人的專業(yè)技能,而不用再依賴或等待其他團(tuán)隊。
在那里,小團(tuán)隊能夠快速獨(dú)立地開發(fā)、測試和部署代碼,并且可以快速、安全、可靠地向客戶交付價值。同時,公司能夠有效地提高開發(fā)人員的生產(chǎn)力,建立學(xué)習(xí)型公司,提高員工滿意度并在市場競爭中取勝。
這就是 DevOps產(chǎn)生的效果。但是,對于我們大多數(shù)人來說,這并不是我們所處的現(xiàn)實(shí)世界在現(xiàn)實(shí)中,系統(tǒng)經(jīng)常被破壞,服務(wù)和產(chǎn)品總是不盡如人意,團(tuán)隊的潛力無法得到正常發(fā)揮;在現(xiàn)實(shí)中,開發(fā)和I運(yùn)維是對立的,測試和信息安全活動總是在項目晚期才進(jìn)行,這導(dǎo)致即使發(fā)現(xiàn)了問題也來不及修復(fù);在現(xiàn)實(shí)中,產(chǎn)品和服務(wù)交付中的關(guān)鍵活動往往全都需要手動操作和互相交接,我們總是要等待其他人的工作完成才能進(jìn)行自己的工作;在現(xiàn)實(shí)中,特性交付的周期一次次被拖延,質(zhì)量也頻頻出現(xiàn)問題,特別是與生產(chǎn)環(huán)境部署相關(guān)的部分,進(jìn)而對客戶和業(yè)務(wù)造成了負(fù)面影響。
結(jié)果,不僅是我們的工作無法按預(yù)期完成,整個公司也對IT部門的業(yè)績不滿意,甚至導(dǎo)致預(yù)算被削減,IT員工沒有成就感,感覺無力改變流程及其結(jié)果。怎么辦?我們需要改變工作方式,沒錯,DevOps能夠給我們指引方向。
為了更好地理解 DevOps革命的潛力,首先讓我們來回顧一下20世紀(jì)80年代的制造業(yè)革命,通過采用精益原則和實(shí)踐,很多制造廠不但大幅提高了生產(chǎn)效率,縮短了交貨周期,而且還提高了產(chǎn)品質(zhì)量及客戶滿意度,并在市場競爭中立于不敗之地。
在制造業(yè)革命前,制造廠的平均交貨周期為6周,能按時交貨的訂單不到總量的70%隨著精益實(shí)踐的廣泛實(shí)施,到2005年,產(chǎn)品的平均交貨周期縮短到3周以下,按時交貨的訂單超總量的95%。而那些沒有實(shí)施精益實(shí)踐的廠商,不但漸漸失去了市場,有的甚至破產(chǎn)了。
另一方面,技術(shù)產(chǎn)品和服務(wù)的交付標(biāo)準(zhǔn)也在不斷提高—幾十年前優(yōu)秀的交付標(biāo)準(zhǔn)如今已然過時。過去的40年中,開發(fā)和部署戰(zhàn)略型業(yè)務(wù)功能所需的成本和時間每十年就下降幾個數(shù)量級在20世紀(jì)七八十年代,新功能大都需要1-5年的開發(fā)和部署周期,動輒花費(fèi)數(shù)千萬美元。
到21世紀(jì)初,由于技術(shù)的快速發(fā)展以及敏捷原則和實(shí)踐的應(yīng)用,新功能開發(fā)所需的時間已經(jīng)從幾年縮短至幾個月,但是部署到生產(chǎn)環(huán)境仍然需要幾周甚至數(shù)月,而且部署過程中還總是伴隨著大量不可預(yù)知的狀況。
到2010年,隨著DevOps的出現(xiàn),以及硬件、軟件和公有云的不斷商品化,任何特性(甚至整個公司的創(chuàng)建)都可以在幾個星期內(nèi)完成,并在幾小時或幾分鐘內(nèi)部署到生產(chǎn)環(huán)境中一對于這些公司而言,部署最終進(jìn)化成了日常的、低風(fēng)險的工作(見表01)通過運(yùn)用 DevOps,這些公司能夠通過測試商業(yè)理念發(fā)現(xiàn)對客戶和整個公司而言最有價值的想法,然后實(shí)施開發(fā),并快速且安全地將其部署到生產(chǎn)環(huán)境中。
更快、更廉價、更低風(fēng)險的軟件交付趨勢正加速發(fā)展
1970~1989年 |
1990~1999年 |
2000年至今 |
|||
時代 |
主機(jī) |
客戶端服務(wù)器 |
商品化和云計算 |
||
標(biāo)志性技術(shù) |
COBOL、運(yùn)行在MVS上的DB2等 |
C++、Orecle、Solaris等 |
Java、MySQL、 RedHat、Ruby on Rails、PHP等 |
||
交付周期 |
1~5年 |
3-12個月 |
2~12個星期 |
||
成本 |
100萬~1億美元 |
10萬~1000萬美元 |
1萬~100萬美元 |
||
風(fēng)險級別 |
整個公司 |
產(chǎn)品線或者部門 |
產(chǎn)品特性 |
||
失敗成本 |
破產(chǎn)、出售公司、大量裁員 |
業(yè)務(wù)虧損、CIO革職 |
可忽略不計 |
現(xiàn)在,大部分采用了 DevOps原則和實(shí)踐的公司,每天都能完成幾百甚至上千次代碼部署的變更。在這個競爭優(yōu)勢需要被快速驗(yàn)證和持續(xù)實(shí)驗(yàn)的時代,那些還不能應(yīng)用 DevOps實(shí)踐的公司注定會在市場上敗給敏捷的競爭對手,并可能會倒閉,和當(dāng)年那些沒有采取精益原則和實(shí)踐的制造廠的下場類似。
今天,不管我們身處什么行業(yè),想要獲取客戶并向客戶交付價值的方式都要依賴于技術(shù)價值流。正如通用電氣公司首席執(zhí)行官伊梅爾特所說“沒有將軟件作為核心業(yè)務(wù)的每一個行業(yè)或公司都會受到影響。”微軟技術(shù)院士 Jeffrey Snover也曾說過:“在過去的經(jīng)濟(jì)時代,企業(yè)通過移動原子創(chuàng)造價值。而現(xiàn)在,他們必須通過數(shù)字創(chuàng)造價值。”
這個問題的嚴(yán)重性毋庸置疑—當(dāng)今的技術(shù)影響著所有的企業(yè),不論其行業(yè)、規(guī)模和盈利性質(zhì)如何。與以往相比,技術(shù)工作的管理和有效執(zhí)行,預(yù)示著企業(yè)能否在市場上取得優(yōu)勢,甚至能否生存下去。因此,嘗試和采取一些新的原則和方法勢在必行,雖然有些方法可能和過去幾十年里曾指導(dǎo)我們成功的做法截然不同。
我們現(xiàn)在已經(jīng)明確了DevOps解決間題的重要性和緊迫性。接下來要花一些時間來詳細(xì)探索問題的本質(zhì):這些問題為什么會發(fā)生?若不采取措施干預(yù)的話,隨著時間的推移,這些問題為什么會更加嚴(yán)重?
往期課程回顧
講師簡介
許峰老師與林偉丹老師
兩大虎將,強(qiáng)強(qiáng)聯(lián)手
DevOps咨詢熱線......
深圳青藍(lán)咨詢服務(wù)有限公司
電 話:0755-86950769
官 網(wǎng):www.mycalorietracker.com
郵 箱:peixun@shzhchina. com
地 址: 深圳市南山區(qū)高新南一道06號TCL大廈B座3樓309室
深圳地鐵1號線高新園站C出口