什么是DevOps?這個(gè)將開發(fā)和運(yùn)維結(jié)合起來的詞,代表了一種文化,那就是大家共同協(xié)作。狹義上的大家,指的是開發(fā)和運(yùn)維,廣義上,指的是所有軟件生命周期里參與的角色。
“共同協(xié)作”是個(gè)富有正能量的詞。感覺上,隨便往哪兒一套都是正確的。那為什么要在DevOps里著重強(qiáng)調(diào)呢?DevOps到底解決了什么問題?歸根結(jié)底,就是提高產(chǎn)品質(zhì)量。愛思考的你,可能心里已經(jīng)有千萬個(gè)提高產(chǎn)品質(zhì)量的方案從腦海里呼嘯而過——代碼審查、自動(dòng)化測(cè)試、持續(xù)集成、代碼質(zhì)量管理工具、程序員鼓勵(lì)師……對(duì)對(duì)對(duì),這些方案都能在某種程度上解決一些層次的問題。但是,產(chǎn)品質(zhì)量的根源在哪兒呢?在于人。如果開發(fā)者對(duì)自己要做的事情不負(fù)責(zé),甚至壓根兒不知道后果,怎么能指望這樣的人能夠生產(chǎn)出來高質(zhì)量的代碼呢?舉個(gè)例子:作為開發(fā)者,我知道自己寫的代碼會(huì)由測(cè)試部門來進(jìn)一步測(cè)試,在有進(jìn)度壓力的時(shí)候,我就會(huì)更傾向于去想:“那就先這么湊合著吧,反正有問題QA們會(huì)說的”。如果我不知道部署和維護(hù)產(chǎn)品是怎么一回事,我就不會(huì)主動(dòng)地在產(chǎn)品里寫上日志的代碼。對(duì)于運(yùn)維人員來說,由于處于軟件生命周期的下游,相信對(duì)類似的場景感觸更甚。DevOps能夠做到的事,就是讓人有這個(gè)意識(shí):需要對(duì)產(chǎn)品的質(zhì)量負(fù)責(zé)。DevOps能夠提供一個(gè)平臺(tái)或機(jī)制,讓我能夠從中找到所需的資源。