回覆列表
  • 1 # 運維筆記

    不一定吧,docker有很大的優勢但也不是所有場景都適合的,如果要分散式和彈性伸縮的話映象最好是要無狀態的了

  • 2 # DevOps探路者

    可以說,Docker和DevOps是相輔相成,相互促進的。Docker一個重要場景就是搭建資源彈性供給得雲計算平臺,能夠更高效得利用物理資源,但Docker將服務執行的環境統一封裝為docker映象,以Docker映象的方式交付軟體產品,從根本上解決了DevOps中的很多問題,從目前得技術發展來看,以docker為核心得CI/CD是未來的發展方向。DevOps涉及軟體開發的全生命週期管理,不止是工具層面得工具鏈建設,還包含很多以敏捷、精益為基礎的方法論,如Scrum,看板方法等,持續整合(CI)和持續交付(CD)只是DevOps眾多階段中的一個而已,有了Docker,實施CICD會更加方便快捷。

    下面列舉一下,Docker能夠解決DevOps中的哪些問題:1、環境一致性問題在軟體開發生命週期中會涉及到很多個環境,如:開發人員開發時的開發環境,開發完成後得測試環境,測試環境又分為SIT環境,UAT環境,效能測試環境,預覽環境等等,測試通過後部署到給使用者提供服務的生產環境。在每一個環境中,都會遇到各種各樣的問題,有些問題是軟體本身的問題,但環境本身的差異也是測試階段困擾開發和測試人員的一個重要因素。基於docker映象得部署,將環境和服務捆綁在一起,在任何環境中測試,環境的配置都是一樣的,能夠大大提高測試的效率和質量。2、測試環境資源供給問題在軟體測試階段,測試環境得資源利用率是很低的,但為了能隨時測試,我們必須要放置一套測試環境做準備,從這點來說,屬於資源浪費,而如果此時,團隊需要多套測試環境時,還是需要從新申請資源。所以,對於一些企業來說,資源不足就成了問題。另外,如果我們當我們需要一套新得環境時,環境管理人員需要進行各種軟體安裝,除錯,一套可用的環境準備好,往往需要數天得時間,環境的供給緩慢,也是測試階段耗時較久得關鍵因素。基於docker的容器部署,能夠做到資源的彈性供給,甚至可以做到分鐘級供給。3、軟體交付和部署方式問題

    沒有docker,軟體的開發完成後交付的是二進位制包,透過指令碼得方式部署到物理機或虛機中。在生產環境中執行的服務,如果想要在流量高峰時做擴容,流量低谷時做縮容,如果想對執行時的服務進行全方位的監控,如果想在升級時做滾動升級,做流量控制等,是一件很複雜的事情,現在基於K8s的容器編排平臺,能夠使得應用服務可自重啟、自複製、自縮放,基於docker和k8s本身強大的管理能力,能夠使應用軟體的交付和部署變的更加方便,更加穩定。

    可以這樣說,雲計算是未來,雲計算是應用服務執行的基礎設施,隨著技術的發展,DevOps會將更多的能力下沉到基礎設施層,成為企業軟體開發的基礎設施,要做到這些,docker是不可缺少的工具。DevOps是一套軟體開發方法和實踐,不會限定具體的工具,但好工具是推動DevOps的助推器,Docker便是其中一個。

  • 中秋節和大豐收的關聯?
  • 元寶饅頭的製作方法是什麼?