直播推薦
企業(yè)動(dòng)態(tài)
- 虹潤公司邀您共赴 2025上海環(huán)境監(jiān)測展
- 安科瑞電動(dòng)機(jī)保護(hù)器ARD2F獲最新防爆認(rèn)證,助力工業(yè)安全升級(jí)
- 國產(chǎn)雙核破壟斷:礪星&存融CIBF亮劍智能裝配,定義電池安全新標(biāo)桿
- 上海兆越攜重磅方案亮相軌交運(yùn)維大會(huì)
- 當(dāng)「AI浪潮」撞上掌舵者野心:誰在重新制定行業(yè)規(guī)則?
- 喜報(bào) | 鑫精誠傳感器榮獲深圳名品牌及灣區(qū)名品牌
- CIBF2025現(xiàn)場直擊 | 皓天試驗(yàn)設(shè)備次日熱度攀升!技術(shù)展示區(qū)成全場焦點(diǎn)
- 東莞市皓天試驗(yàn)設(shè)備即將亮相CIBF2025,邀您共探電池測試新未來
推薦展會(huì)
隨著微服務(wù)及容器化技術(shù)的普及至大眾視線后DevOps常被提及,關(guān)于DevOps似乎并沒有一個(gè)標(biāo)準(zhǔn)的定義,如果說從基于目標(biāo)導(dǎo)向去給它做一個(gè)定義,DevOps是一套實(shí)踐方法,即在保證高質(zhì)量的前提下,縮短系統(tǒng)由變更、提交、部署更新到生產(chǎn)環(huán)境的時(shí)間,DevOps的核心由此可見體現(xiàn)在“保證高質(zhì)量”, “縮短時(shí)間”,“部署”。
如上圖,傳統(tǒng)開發(fā)和運(yùn)維之間存在一堵墻,開發(fā)人員想改變而運(yùn)維人員想要穩(wěn)定。另外,傳統(tǒng)開發(fā)工具與運(yùn)維工具也存在一堵墻,并沒有打通成為一條工具鏈。
從字面上來理解DevOps ,Dev(開發(fā)人員)+Ops(運(yùn)維人員),DevOps 強(qiáng)調(diào)的是高效組織團(tuán)隊(duì)之間如何通過自動(dòng)化的工具協(xié)作和溝通來完成軟件的生命周期管理,從而更快、更頻繁地交付更穩(wěn)定的軟件。
軟件開發(fā)演變:
緩慢而繁瑣的瀑布模型演變成敏捷,開發(fā)團(tuán)隊(duì)在短時(shí)間內(nèi)完成軟件開發(fā),持續(xù)時(shí)間甚至不超過兩周。如此短的發(fā)布周期幫助開發(fā)團(tuán)隊(duì)處理客戶反饋,并將其與bug修復(fù)一起合并到下一個(gè)版本中。
雖然這種敏捷的SCRUM(迭代式增量軟件開發(fā))方法為開發(fā)帶來了敏捷性,但它在運(yùn)維方面卻失去了敏捷實(shí)踐的速度。開發(fā)人員和運(yùn)維工程師之間缺乏協(xié)作仍然會(huì)減慢開發(fā)過程和發(fā)布。DevOps就是基于對(duì)更好的協(xié)作和更快的交付的需求而產(chǎn)生的。
從2009年提出DevOps的概念,時(shí)至今日已經(jīng)有十余個(gè)年頭,在此之前DevOps為什么沒有迅速走紅,總結(jié)主要原因?yàn)橐韵聨c(diǎn):
● 之前的云計(jì)算還屬于小眾產(chǎn)品,虛擬化、虛擬機(jī)還是重量級(jí)的IT基礎(chǔ)設(shè)施。
● 容器相關(guān)技術(shù)(Docker為代表)沒有橫空出世,導(dǎo)致DevOps無法迅速走紅。
● Micro Service即微服務(wù)尚未廣泛的推廣使用。
DevOps開始深入人心,和云計(jì)算、容器/Docker、微服務(wù)、敏捷等相關(guān)概念和實(shí)施的發(fā)展離不開,互聯(lián)網(wǎng)迅猛的發(fā)展,需要更快的業(yè)務(wù)試錯(cuò)與業(yè)務(wù)創(chuàng)新,讓軟件的生產(chǎn)、交付、獲取、升級(jí)變得自動(dòng),DevOps在傳統(tǒng)企業(yè)也開始備受關(guān)注開始走紅。
對(duì)DevOps的狹義理解:
簡單說DevOps是提倡開發(fā)和IT運(yùn)維之間的高度協(xié)同,在完成高頻率部署的同時(shí),提高生產(chǎn)環(huán)境的可靠性、穩(wěn)定性、彈性和安全性。
DevOps不僅需要打通開發(fā)和運(yùn)維之間的隔閡墻,更需要從應(yīng)用的全生命周期考慮,實(shí)現(xiàn)全生命周期的工具全鏈路打通與自動(dòng)化、跨團(tuán)隊(duì)的線上協(xié)作能力。
縱向集成,打通應(yīng)用全生命周期(需求、設(shè)計(jì)、開發(fā)、編譯、構(gòu)建、測試、打包、發(fā)布、配置、監(jiān)控等)的工具集成,最終實(shí)現(xiàn)自助化。
例如:項(xiàng)目組的開發(fā)人員可以通過DevOps的平臺(tái)上,自主申請開通需要的各種服務(wù),比如開通開發(fā)環(huán)境、代碼庫等。
橫向集成,打通架構(gòu)、開發(fā)、管理、運(yùn)維等部門墻。橫向集成中DevOps強(qiáng)調(diào)的重點(diǎn)是跨團(tuán)隊(duì)的線上協(xié)作。
例如:傳統(tǒng)的系統(tǒng)上線部署方式,通過一個(gè)發(fā)布手順文檔,上百頁都有可能,但在DevOps的平臺(tái)下,應(yīng)該是通過標(biāo)準(zhǔn)運(yùn)行環(huán)境的選擇、環(huán)境配置的設(shè)置、部署流程的編排,實(shí)現(xiàn)數(shù)字化的部署手冊,這樣的手冊,人機(jī)都能夠執(zhí)行,并且過程可以被追蹤和審計(jì)。
我們使用DevOps時(shí),大致有這幾種誤區(qū)認(rèn)知:
● 企業(yè)沒有使用云相關(guān)產(chǎn)品(IaaS、PaaS),無法開展DevOps;
● 微服務(wù)架構(gòu)開發(fā)的應(yīng)用適合DevOps,傳統(tǒng)SOA應(yīng)用不適合;DevOps的實(shí)施和應(yīng)用架構(gòu)無關(guān),無論是微服務(wù)架構(gòu),還是SOA類型應(yīng)用,都可以開展DevOps工作;
● 自動(dòng)化工具的運(yùn)用等同于DevOps的成功;采用自動(dòng)化工具本身不是DevOps,只有將這些工具與持續(xù)集成、持續(xù)交付、持續(xù)的反饋與優(yōu)化進(jìn)行端到端的整合時(shí),這些工具才成為DevOps的一部分;
● DevOps不僅僅是自動(dòng)化。自動(dòng)化是DevOps非常重要的一部分,但不是的部分,實(shí)施DevOps需要從敏捷、持續(xù)、協(xié)作、系統(tǒng)性、自動(dòng)化多個(gè)維度進(jìn)行建設(shè)與改進(jìn)。
邏輯架構(gòu)整個(gè)DevOps平臺(tái)分為三層:

設(shè)施層:包括IaaS,CaaS,一般是基于OpenStack和Kubernetes、Docker;
服務(wù)層:服務(wù)管理與調(diào)度的基礎(chǔ)能力,如注冊中心,編排,以及企業(yè)級(jí)或互聯(lián)網(wǎng)式的云服務(wù);
DevOps層:更多的是工作流程需求、設(shè)計(jì)、開發(fā)、測試、發(fā)布等,看板等;
實(shí)施DevOps的核心目標(biāo)是加速企業(yè)IT精益運(yùn)行,提升IT的生產(chǎn)效率,加速部門、企業(yè)的業(yè)務(wù)創(chuàng)新能力。實(shí)施DevOps需要從組織、技術(shù)、流程三個(gè)維度進(jìn)行。
可以梳理出目前團(tuán)隊(duì)中欠缺但又容易改進(jìn)的點(diǎn),逐步將更多的實(shí)踐活動(dòng)納入團(tuán)隊(duì)當(dāng)中。團(tuán)隊(duì)實(shí)施DevOps的目的在于,將重復(fù)、價(jià)值低的事情交由DevOps平臺(tái)實(shí)現(xiàn)。在傳統(tǒng)企業(yè)中,技術(shù)方面的實(shí)踐最容易在團(tuán)隊(duì)中實(shí)現(xiàn)、流程次之、組織的優(yōu)化與變革艱難。
1、技術(shù)方面
● 集成工具鏈:
打通應(yīng)用開發(fā)工具鏈:需求、項(xiàng)目、代碼、構(gòu)建、測試、打包、發(fā)布、配置、監(jiān)控;
● 基礎(chǔ)設(shè)施即編碼:
將基礎(chǔ)環(huán)境服務(wù)化、可編程化,基礎(chǔ)設(shè)施讓項(xiàng)目團(tuán)隊(duì)可以自助獲??;讓基礎(chǔ)設(shè)施從物理機(jī)、虛擬機(jī)、走向容器;
● 一鍵編譯、測試、部署:
開發(fā)人員可以從代碼開始,一鍵獲得可訪問的環(huán)境,根據(jù)需要可以推送開發(fā)、測試、預(yù)發(fā)、生產(chǎn)環(huán)境;
● ChatOps:
項(xiàng)目團(tuán)隊(duì)成員將溝通、工具和過程整合在一起。將工具植入對(duì)話中,保障團(tuán)隊(duì)能夠自動(dòng)執(zhí)行任務(wù)與協(xié)作。推薦最近比較流行的hubot。
2、 流程方面
● 看板:
在DevOps中看板不僅是任務(wù)協(xié)調(diào)溝通的機(jī)制;也可作為管制平臺(tái),量化組織生產(chǎn)能力的工具。
● MVP:
采用MVP(Minimum Viable Product最小可行產(chǎn)品)原則,最短時(shí)間內(nèi)快速交付產(chǎn)品原型,然后通過測試并收集用戶的反饋,快速迭代,不斷修正產(chǎn)品,適應(yīng)客戶的需求。
● 發(fā)布:
建立持續(xù)發(fā)布機(jī)制,形成自動(dòng)化、自助化,支持常見的灰度發(fā)布、金絲雀、藍(lán)綠、回滾、A/B測試等;
● 軟件度量:
通過軟件度量(包括過程度量、質(zhì)量度量、用戶度量、成本度量),推算出組織的各種有效指標(biāo);可以掌控組織的生產(chǎn)力水平,也可通過度量數(shù)據(jù),反向優(yōu)化組織瓶頸點(diǎn);
● 一切皆代碼:
文檔(用戶場景、功能特性等)、配置(應(yīng)用配置、環(huán)境配置、腳本等)、環(huán)境(基礎(chǔ)設(shè)施、中間件環(huán)境等)、發(fā)布包需要統(tǒng)一看待成代碼,納入版本管理,提供全視角的鏈路追蹤。
例如:每個(gè)發(fā)布的版本,可以追溯其對(duì)應(yīng)的配置,代碼、文檔,發(fā)布的功能點(diǎn)。
組織、技術(shù)、流程三個(gè)維度中,技術(shù)、流程可以通過平臺(tái)或者工具進(jìn)行實(shí)踐的固化。
平臺(tái)建設(shè)步,梳理出DevOps的整體模型。從角色、規(guī)劃設(shè)計(jì)、開發(fā)交付、運(yùn)營反饋四個(gè)維度進(jìn)行梳理。以產(chǎn)品為核心,將代碼、配置、環(huán)境進(jìn)行嚴(yán)格分離,同時(shí)覆蓋產(chǎn)品全生命周期。
另外企業(yè)在落地DevOps也存在如下困境:
1)涉及的部門多(開發(fā)中心、質(zhì)量控制部門、生產(chǎn)運(yùn)行部門);
2) 流程改造復(fù)雜;
3) 責(zé)任邊界需要重新劃分;
4) 自動(dòng)化是核心問題。
關(guān)于DevOps工具選擇,按照階段進(jìn)行拆分,將其分解到各階段分別是:規(guī)劃、構(gòu)建、持續(xù)集成、部署、運(yùn)營以及持續(xù)反饋。
1) 規(guī)劃
視覺與設(shè)計(jì)方面達(dá)成協(xié)作,推薦使用的工具:Confluence, HipChat,JIRA Software。
2) 構(gòu)建
開發(fā)階段環(huán)境構(gòu)建,推薦使用的工具:Docker。
基礎(chǔ)設(shè)施自動(dòng)化,推薦使用的工具:Bamboo, Bitbucket, Chef,Docker, Puppet。
3) 持續(xù)集成
它是支撐新功能的代碼與當(dāng)下代碼集成的環(huán)節(jié)。軟件在持續(xù)性開發(fā),升級(jí)后的代碼必須持續(xù)性集成,并快速地與系統(tǒng)集成,實(shí)現(xiàn)用戶的各種需求變更。變更后的代碼,還應(yīng)當(dāng)保證執(zhí)行時(shí)環(huán)境中沒有異常。推薦使用的工具:Bamboo, HipChat。
自動(dòng)化測試,對(duì)于準(zhǔn)備和支持開發(fā)構(gòu)建工作,自動(dòng)化測試的操作過程透明化以及*性是非常重要的。推薦使用的工具:Bamboo, Bitbucket,Capture for JIRA。
4) 部署
發(fā)布儀表盤,在一個(gè)地方對(duì)于你想尋找的關(guān)于分支,構(gòu)建,拉請求和部署警告等信息提供高可視化。推薦使用的工具:JIRA Software。
自動(dòng)化部署,推薦使用的工具:AWS, Bamboo, HipChat,Puppet。
5) 運(yùn)營
監(jiān)控,實(shí)施自動(dòng)化監(jiān)控針對(duì)服務(wù)器監(jiān)控和應(yīng)用程序性能監(jiān)控,推薦使用的工具:BigPanda,HipChat,HostedGraphite,Nagios,NewRelic,PagerDuty,Pingdom,Splunk。
溝通與集群,跨團(tuán)隊(duì)溝通是實(shí)現(xiàn)文化轉(zhuǎn)變的步,工具可促進(jìn)它的實(shí)時(shí)性。推薦使用的工具:BigPanda,DataDog, HipChat,NewRelic, PagerDuty,StatusPage。
事件、變更和問題跟蹤,推薦使用的工具:JIRA Service Desk,JIRA Software
6) 持續(xù)反饋
通過用戶反饋創(chuàng)造更好的產(chǎn)品,推薦使用的工具:GetFeedback,HipChat,JIRA Service Desk,Pendo,Surveymonkey,HootSuite。
在實(shí)踐DevOps時(shí),可以從運(yùn)營效率、IT服務(wù)水平、組織效能、客戶價(jià)值、經(jīng)營業(yè)績五個(gè)維度進(jìn)行評(píng)判,持續(xù)優(yōu)化與改進(jìn)。
1、從原先線下協(xié)作、溝通,統(tǒng)一到DevOps平臺(tái)上協(xié)作、溝通;可以隨時(shí)了解項(xiàng)目進(jìn)展全貌,利用平臺(tái)可以做到各種過程數(shù)據(jù)的實(shí)時(shí)收集;
2、 資源管理由原來專職人員,過渡到開發(fā)人員實(shí)現(xiàn)自助化服務(wù),可按需實(shí)現(xiàn)各類環(huán)境申請與開通,基礎(chǔ)設(shè)施即服務(wù)提供來技術(shù)的支撐;
3、由郵件文化到DevOps平臺(tái)統(tǒng)一溝通,同時(shí)DevOps打通多個(gè)工具鏈路端,任務(wù)分發(fā)、溝通、提醒可以實(shí)時(shí)推送。
免責(zé)聲明
- 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請必須注明智能制造網(wǎng),http://www.tzhjjxc.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品來源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
SAMPE中國第二十屆國際先進(jìn)復(fù)合材料展覽會(huì)
展會(huì)城市:北京市展會(huì)時(shí)間:2025-06-18