在列出DevOps 工具鏈之前,介紹一下什么是DevOps,雖然DevOps這個概念現在還沒有標準的定義,但我們可以追溯一下其過去九年的歷史發展程序(從2009年~2017年),列出幾個相對明確又有所不同不同的定義,從而能夠比較全面了解DevOps的內涵,
【2009】DevOps是一組程序、方法與系統的統稱,用于促進開發、技術運營和QA部門之間的溝通、協作與整合;
【2011】快速回應業務和客戶的需求,通過行為科學改善IT各部門之間的溝通, 以加快IT組織交付滿足快速生產軟體產品和服務的目
【2015】DevOps強調溝通、協作、集成、自動化和度量,以幫助組織快速開發軟體產品,并提高操作性能和質量保證;強調自動化軟體交付和基礎設施變更的程序,以建立一種文化和環境,通過構建、測驗和發布軟體等方法,可以快速、頻繁地、更可靠地發布軟體,
【2016】DevOps的目標是建立流水線式的準時制(JIT)的業務流程,以獲得最大化業務成果,例如增加銷售和利潤率,提高業務速度、減少運營成本,
【2017】一個軟體工程實踐,旨在統一軟體開發(Dev)和軟體操作(Ops),與業務目標緊密結合,在軟體構建、集成、測驗、發布到部署和基礎設施管理中大力提倡自動化和監控,DevOps的目標是縮短開發周期,增加部署頻率,更可靠的發布,
圖1 體現DevOps 流水線的速度(如測驗20s左右)
簡單地說,DevOps是敏捷研發中持續構建(Continuous Build,CB)、持續集成(Continuous Integration,CI)、持續交付(Continuous Delivery,CD)的自然延伸,從研發周期向右擴展到部署、運維,不僅打通研發的“需求、開發與測驗”各個環節,還打通“研發”與“運維”,DevOps 適合“軟體即服務(SaaS)”或“平臺即服務(PaaS)”這樣的應用領域,其顯著的特征就是:
打通用戶、PMO、需求、設計、開發(Dev)、測驗、運維(Ops)等各上下游部門或不同角色
打通業務、架構、代碼、測驗、部署、監控、安全、性能等各領域工具鏈,
下面我們就展開DevOps的工具鏈,
圖2 持續集成的基本工具鏈 [1]
圖3持續部署基本工具鏈[1]
圖4 自助式DevOps[1]
上面相對比較簡單地展示了DevOps基本工具鏈的主要工具,相對全的工具,需要覆寫大概十四類工具:
編碼版本控制:維護和控制源代碼庫中的變更
協作開發
構建:版本控制、代碼合并、構建狀態
持續集成
測驗:自動化測驗及測驗報告
打包:二進制倉庫、Docker鏡像倉庫
部署工具
容器:容器是輕量級的虛擬化組件,它以隔離的方式運行應用負載,它們運行自己的行程、檔案系統和網路堆疊,這些資源都是由運行在硬體上的作業系統所虛擬化出來的
發布:變更管理、自動發布
編排:當考慮微服務、面向服務的架構、融合式基礎設施、虛擬化和資源準備時,計算系統之間的協作和集成就稱為編排,通過利用已定義的自動化作業流,編排保證了業務需求是和你的基礎設施資源相匹配的
配置管理:基礎設施配置和管理,維護硬體和軟體最新的、細節的記錄-包括版本、需求、網路地址、設計和運維資訊
監視:性能監視、用戶行為反饋
警告&分析工具
維護工具
更完整的結構,如圖5所示,
圖5 全開源DevOps平臺 [1]
經過一個月的不斷收集和完善,形成下列目前最全的DevOps工具鏈:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/109064.html
標籤:其他
上一篇:一文解讀淺拷貝/深拷貝 (轉)
下一篇:Jenkins 任務定時
