2018-02-07 朱少民 軟件質(zhì)量報(bào)道 在列出DevOps 工具鏈之前,介紹一下什么是DevOps,雖然DevOps這個(gè)概念現(xiàn)在還沒有標(biāo)準(zhǔn)的定義,但我們可以追溯一下其過去九年的歷史發(fā)展過程(從2009年~2017年),列出幾個(gè)相對(duì)明確又有所不同不同的定義,從而能夠比較全面了解DevOps的內(nèi)涵。 【2009】 DevOps是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進(jìn)開發(fā)、技術(shù)運(yùn)營(yíng)和QA部門之間的溝通、協(xié)作與整合; 【2011】快速響應(yīng)業(yè)務(wù)和客戶的需求,通過行為科學(xué)改善IT各部門之間的溝通, 以加快IT組織交付滿足快速生產(chǎn)軟件產(chǎn)品和服務(wù)的目 【2015】DevOps強(qiáng)調(diào)溝通、協(xié)作、集成、自動(dòng)化和度量,以幫助組織快速開發(fā)軟件產(chǎn)品,并提高操作性能和質(zhì)量保證;強(qiáng)調(diào)自動(dòng)化軟件交付和基礎(chǔ)設(shè)施變更的過程,以建立一種文化和環(huán)境,通過構(gòu)建、測(cè)試和發(fā)布軟件等方法,可以快速、頻繁地、更可靠地發(fā)布軟件。 【2016】 DevOps的目標(biāo)是建立流水線式的準(zhǔn)時(shí)制(JIT)的業(yè)務(wù)流程,以獲得最大化業(yè)務(wù)成果,例如增加銷售和利潤(rùn)率,提高業(yè)務(wù)速度、減少運(yùn)營(yíng)成本。 【2017】一個(gè)軟件工程實(shí)踐,旨在統(tǒng)一軟件開發(fā)(Dev)和軟件操作(Ops),與業(yè)務(wù)目標(biāo)緊密結(jié)合,在軟件構(gòu)建、集成、測(cè)試、發(fā)布到部署和基礎(chǔ)設(shè)施管理中大力提倡自動(dòng)化和監(jiān)控。DevOps的目標(biāo)是縮短開發(fā)周期,增加部署頻率,更可靠的發(fā)布。 打通用戶、PMO、需求、設(shè)計(jì)、開發(fā)(Dev)、測(cè)試、運(yùn)維(Ops)等各上下游部門或不同角色 打通業(yè)務(wù)、架構(gòu)、代碼、測(cè)試、部署、監(jiān)控、安全、性能等各領(lǐng)域工具鏈。 下面我們就展開DevOps的工具鏈。 編碼版本控制:維護(hù)和控制源代碼庫中的變更 協(xié)作開發(fā) 構(gòu)建:版本控制、代碼合并、構(gòu)建狀態(tài) 持續(xù)集成 測(cè)試:自動(dòng)化測(cè)試及測(cè)試報(bào)告 打包:二進(jìn)制倉庫、Docker鏡像倉庫 部署工具 容器:容器是輕量級(jí)的虛擬化組件,它以隔離的方式運(yùn)行應(yīng)用負(fù)載。它們運(yùn)行自己的進(jìn)程、文件系統(tǒng)和網(wǎng)絡(luò)棧,這些資源都是由運(yùn)行在硬件上的操作系統(tǒng)所虛擬化出來的 發(fā)布:變更管理、自動(dòng)發(fā)布 編排:當(dāng)考慮微服務(wù)、面向服務(wù)的架構(gòu)、融合式基礎(chǔ)設(shè)施、虛擬化和資源準(zhǔn)備時(shí),計(jì)算系統(tǒng)之間的協(xié)作和集成就稱為編排。通過利用已定義的自動(dòng)化工作流,編排保證了業(yè)務(wù)需求是和你的基礎(chǔ)設(shè)施資源相匹配的 配置管理:基礎(chǔ)設(shè)施配置和管理,維護(hù)硬件和軟件最新的、細(xì)節(jié)的記錄-包括版本、需求、網(wǎng)絡(luò)地址、設(shè)計(jì)和運(yùn)維信息 監(jiān)視:性能監(jiān)視、用戶行為反饋 警告&分析工具 維護(hù)工具 更完整的結(jié)構(gòu),如圖5所示。 |
|