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