架構師速成7.3-devops為什麼很重要
阿新 • • 發佈:2019-01-28
evops是一個很高大上的名字,其實說的簡單點就是開發和運維本身就是一個團隊的,要幹就一起把事情幹好。誰出了問題,網站都不行。作為一個架構師,必須要devops,而且要知道如何推行devops。
首先要自動化,舉個阿里的例子,阿里通過aone系統來實現半自動化部署:
- 開發人員開發程式碼先自測通過後,提交程式碼到git。
- 在aone中一鍵部署到日常環境。部署是自動化掃描依賴衝突,系統安全等問題。
- 測試接到部署成功的通知,進行測試,如果測試通過,則審批通過,可以線上釋出。
- 線上運維人員一鍵部署到線上,部署可以分配部署,進行A/B測試。如果出現問題可以一鍵回滾。
當然這裡面牽扯到了很多角色,其實如果是一個公司,這個團隊應該一體的,不分彼此。團隊中每個角色都是程式設計師,每隔一段時間需要輪換崗位。
其實不只是部署需要自動化,測試、擴容、監控、分析等等都需要自動化。當然這需要根據你公司的實際情況進行實踐,最先需要的其實也是部署自動化,如何實現呢:
- 使用開源產品 git,hudson,ansible或者puppet
- 制定相應的規範,自動化部署是有規範的,每個人都必須遵守,否則故障就會馬上出現
- 進行定製化開發,使整個系統形成一個整體,
- 上面的開源產品並不是一個整體,需要通過自己編碼使其成為一套系統。
- 涉及web系統開發,底層指令碼編寫,打包規範制定
- 不斷髮現重複勞動,使其自動化
- 要有對應的監控系統,及時發現異常
有了這一個自動化系統之後,你可以考慮一下後面的產品安裝、測試、擴容、監控、分析系統的自動化。
另外持續改進也是devops的核心,要有發現改進的眼睛。只要有事情重複做3次以上,就考慮是否需要自動化。
如果你不進行devops,隨著業務的增多,系統的增多,最終還是需要進行從頭到尾的改造。不如一開始建設的時候就預先設計考慮好,其實這些東西如果你懂的,開始的時候就做好,並不浪費太多時間,反而能節省大量的時間,何樂而不為。