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