State of Devops 分析報(bào)告

部門

2016年到2017年有比較明顯的變化度帮,而從2017年到2018年 devops 所占的比例變化不大唧领。


image.png

行業(yè)

從2016年開始到2019年焰手,一直都是技術(shù)行業(yè)更多一些逆瑞。


image.png

SDO performance 衡量軟件交付和運(yùn)營性能(software delivery and operational performance)

SDO performance能夠帶來的一些優(yōu)勢(shì)荠藤,這些包括提高盈利能力,生產(chǎn)率获高,市場(chǎng)份額哈肖,客戶滿意度以及實(shí)現(xiàn)組織的使命目標(biāo)能力。

SDO performance 四個(gè)指標(biāo)

在DevOps現(xiàn)狀報(bào)告中念秧,證明了組織績效和軟件交付效能之間存在直接關(guān)聯(lián)淤井。只需要四個(gè)關(guān)鍵指標(biāo)就能區(qū)分低績效、中績效和高績效人員:前置時(shí)間摊趾、部署頻率币狠、平均修復(fù)時(shí)間(MTTR)和變更失敗率。通過這四個(gè)指標(biāo)的分析砾层,可幫助領(lǐng)導(dǎo)和團(tuán)隊(duì)改進(jìn)重要的環(huán)節(jié)漩绵。實(shí)施構(gòu)建流水線可以幫助可視化四個(gè)關(guān)鍵指標(biāo)(Four key metrics),使得軟件交付價(jià)值流可見肛炮。
這四個(gè)指標(biāo)在20期的技術(shù)雷達(dá)中也有體現(xiàn)止吐,技術(shù)維度-采納level宝踪。

速度方面:

  • 部署頻率 :代碼部署到線上的頻率。
    性能最高的每年1,460個(gè)部署(4/天x 365天)到性能低的每年7個(gè)部署碍扔。最高的是最低的208倍瘩燥。


    image.png
  • lead time:代碼從提交到release所花的時(shí)間。
    最快的24小時(shí)內(nèi)不同,而最慢的為2555小時(shí)颤芬, 之間差距106倍。和往年對(duì)比套鹅,差距變小的原因可能是因?yàn)閘ead time從不到一個(gè)小時(shí)增加到一個(gè)小時(shí)到一天之間。( 近年來越來越流行的重量級(jí)代碼審查和批準(zhǔn)過程)


    image.png

穩(wěn)定性方面:

  • 恢復(fù)時(shí)間Mean time to restore(從檢測(cè)到事故到糾正事故所花費(fèi)的時(shí)間)
    最快的恢復(fù)時(shí)間少于一小時(shí)汰具,而慢的在一周至一個(gè)月之間卓鹿。統(tǒng)計(jì)下來相差2604倍。
    只有40%的受訪者至少每年使用所列一種或多種方法執(zhí)行災(zāi)難恢復(fù)測(cè)試留荔。進(jìn)行災(zāi)難恢復(fù)測(cè)試的組織更有可能具有更高級(jí)別的服務(wù)可用性吟孙,即技術(shù)團(tuán)隊(duì)和組織具有對(duì)所運(yùn)行的軟件產(chǎn)品或服務(wù)作出并保持承諾和主張的能力。


    image.png
  • 更改失敗率(即發(fā)布過程質(zhì)量的度量聚蝶,包含hotfix,rollback等等的頻率)
    最低的變更失敗率為0%至15%杰妓,而高的可達(dá)46%至60%。變更失敗率表現(xiàn)好的比差的好七倍碘勉。


    image.png

    從2016年到2019年巷挥,performance好的比不好的差距如下:
    可以看出lead time的差距減小很多,但是恢復(fù)時(shí)間的差距依舊很大验靡。


    image.png

Devops一些實(shí)踐

image.png

報(bào)告中顯示高效團(tuán)隊(duì)更多的工作量在于新需求的開發(fā)倍宾,而不是在計(jì)劃外的工作和返工、補(bǔ)救安全問題胜嗓、處理最終用戶發(fā)現(xiàn)的缺陷高职、客戶支持等工作上。
如何提高效能呢辞州?
從基礎(chǔ)開始:基本自動(dòng)化(例如版本控制怔锌、自動(dòng)化測(cè)試),Monitor变过,明確的變更批準(zhǔn)流程以及培養(yǎng)良好的文化埃元。 然后確定約束條件來規(guī)劃前進(jìn)的道路, 將資源集中在當(dāng)前的block媚狰,然后進(jìn)行迭代(確定約束條件并選擇下一個(gè)目標(biāo))亚情。
以下是一些用來提升性能的關(guān)鍵技術(shù)實(shí)踐:

platform as a service (PaaS)

PaaS指的是消費(fèi)者不管理或控制底層云基礎(chǔ)架構(gòu),包括網(wǎng)絡(luò)哈雏,服務(wù)器楞件,操作系統(tǒng)或存儲(chǔ)衫生,但可以控制已部署的應(yīng)用程序以及應(yīng)用程序托管環(huán)境的配置設(shè)置。
PaaS公司在網(wǎng)上提供各種開發(fā)和分發(fā)應(yīng)用的解決方案土浸,包括網(wǎng)頁應(yīng)用管理罪针,應(yīng)用設(shè)計(jì),應(yīng)用虛擬主機(jī)黄伊,存儲(chǔ)泪酱,安全以及應(yīng)用開發(fā)協(xié)作工具等。
PaaS的例子有Heroku还最,RedHat OpenShift墓阀,Azure App Service,Google App Engine拓轻, AWS Elastic Beanstalk和Cloud Foundry

cloud-native design practices

云原生應(yīng)用:應(yīng)用系統(tǒng)應(yīng)該與底層物理基礎(chǔ)設(shè)施解耦斯撮;應(yīng)用必須能滿足擴(kuò)展性需求,垂直擴(kuò)展(向上和向下)或水平擴(kuò)展(跨節(jié)點(diǎn)服務(wù)器)扶叉,也就是說云原生應(yīng)用程序必須能夠動(dòng)態(tài)響應(yīng)工作負(fù)載的變化(即彈性)勿锅,并且易于按需部署和管理。

infrastructure as code來管理其云部署

通過版本控制來自動(dòng)復(fù)制或更改環(huán)境狀態(tài)枣氧,而不是手動(dòng)配置基礎(chǔ)結(jié)構(gòu)溢十。這種工作方式適用于云基礎(chǔ)架構(gòu),在云基礎(chǔ)架構(gòu)中可以通過API設(shè)置和配置資源达吞。

Continuous Testing

連續(xù)測(cè)試包括這些實(shí)踐张弛,并添加了一些重要的補(bǔ)充:
?不斷審查和改進(jìn)測(cè)試套件,以更好地發(fā)現(xiàn)缺陷并控制復(fù)雜性和成本
?允許測(cè)試人員在軟件開發(fā)和交付過程中與開發(fā)人員一起工作
?在整個(gè)交付過程中執(zhí)行手動(dòng)測(cè)試活動(dòng)酪劫,例如探索性測(cè)試乌庶,可用性測(cè)試和驗(yàn)收測(cè)試
?讓開發(fā)人員通過在編寫針對(duì)代碼庫的所有更改的生產(chǎn)代碼之前編寫單元測(cè)試來練習(xí)TDD。
?能夠在不到十分鐘的時(shí)間內(nèi)從本地工作站和CI服務(wù)器上獲得自動(dòng)化測(cè)試的反饋契耿。
2019年報(bào)告中多了 Disaster recovery testing瞒大。

Managing Database Changes

數(shù)據(jù)庫更改通常是執(zhí)行部署時(shí)帶來風(fēng)險(xiǎn)和延遲的主要來源。管理數(shù)據(jù)庫的更改可以避免部署出現(xiàn)問題搪桂。

Loosely coupled architecture透敌,松耦合架構(gòu)對(duì)CD的積極影響。

松耦合架構(gòu)是指交付團(tuán)隊(duì)可以根據(jù)需要獨(dú)立測(cè)試踢械,部署和更改其系統(tǒng)酗电,而無需依賴其他團(tuán)隊(duì)以獲得額外的支持,服務(wù)内列,資源或批準(zhǔn)撵术,來回通信較少。 這使團(tuán)隊(duì)可以快速交付價(jià)值话瞧,但需要更高級(jí)別的編排嫩与。

Clear change process

Code maintainability代碼可維護(hù)性

Continuous integration

Automated testing自動(dòng)化測(cè)試對(duì)CI的積極影響寝姿,CI提高了CD

Deployment automation

Monitoring

Trunk-based development

云平臺(tái)的使用

如何實(shí)施云基礎(chǔ)架構(gòu)至關(guān)重要。云提高了軟件交付性能划滋,利用所有云計(jì)算的基本特征的團(tuán)隊(duì)成為高性能企業(yè)的可能性要高23倍饵筑。

2018年云平臺(tái)的使用情況:


image.png

隨著業(yè)務(wù)性質(zhì)的發(fā)展,越來越多的組織正在選擇multi-cloud 多云和hybrid cloud混合云解決方案处坪。 這是因?yàn)檫@些解決方案除了可以提高性能之外根资,還提供了靈活性,控制能力和可用性同窘。2019的報(bào)告對(duì)比2018年玄帕,對(duì)多云和混合云的使用有所增加,但是還不知道這個(gè)現(xiàn)象的意義是什么想邦。


image.png

云計(jì)算的五個(gè)基本特征

使用云計(jì)算顯然是按需擴(kuò)展裤纹。利用動(dòng)態(tài)擴(kuò)展的團(tuán)隊(duì)可以使服務(wù)背后的基礎(chǔ)架構(gòu)靈活地響應(yīng)用戶的需求。團(tuán)隊(duì)可以監(jiān)視其服務(wù)并根據(jù)需要自動(dòng)擴(kuò)展其基礎(chǔ)架構(gòu)案狠。

  • 按需增長On-demand self-service
    消費(fèi)者可以根據(jù)需要自動(dòng)配置計(jì)算資源,而無需提供者進(jìn)行人工干預(yù)钱雷。
  • 廣泛的網(wǎng)絡(luò)訪問Broad network access
    通過不同的平臺(tái)都可以訪問到骂铁。例如phones, 平板電腦, laptops, and workstations。
  • 資源池Resource pooling
    提供者資源在多租戶模型中池化罩抗,物理和虛擬資源按需動(dòng)態(tài)分配拉庵。客戶可以指定更高抽象級(jí)別的位置套蒂,例如國家/地區(qū)钞支,州或數(shù)據(jù)中心。
  • 快速彈性Rapid elasticity
    可以彈性配置和釋放功能操刀,以根據(jù)需要快速向外或向內(nèi)擴(kuò)展烁挟,這似乎是無限的,并且可以隨時(shí)以任何數(shù)量進(jìn)行分配骨坑。
  • 實(shí)測(cè)服務(wù)Measured service
    云系統(tǒng)會(huì)根據(jù)服務(wù)類型(例如存儲(chǔ)撼嗓,處理,帶寬和活動(dòng)用戶帳戶)自動(dòng)控制欢唾,優(yōu)化和報(bào)告資源使用情況且警。

提高生產(chǎn)率

生產(chǎn)率是指以最小的干擾來完成復(fù)雜,耗時(shí)的任務(wù)的能力礁遣。


image.png

文化相關(guān)

高績效團(tuán)隊(duì)具備的文化:信任和心理安全感斑芜,有意義的工作和清晰的角色、計(jì)劃和目標(biāo)認(rèn)知祟霍。這種團(tuán)隊(duì)環(huán)境使成員能夠承擔(dān)有計(jì)劃的和適度的風(fēng)險(xiǎn)杏头,敢于發(fā)表想法并更具創(chuàng)造力盈包。

技術(shù)債管理

技術(shù)債包含腳本、配置管理大州,基礎(chǔ)設(shè)施管理续语。可以通過不斷的重構(gòu)來減少技術(shù)債厦画。
為了減少技術(shù)債就可以思考如何增加code 可維護(hù)性疮茄,如何構(gòu)建松耦合架構(gòu),如何做Monitor等根暑。

工具

在效能低下的企業(yè)中力试,有著更多的專有軟件,定制化程度高排嫌,但是維護(hù)成本大畸裳。而高效能團(tuán)隊(duì)使用的工具都是開源的,相對(duì)集中的商業(yè)現(xiàn)貨(COTS)軟件淳地,很少進(jìn)行定制怖糊。

高效能團(tuán)隊(duì)幾乎在所有維度上都將工具自動(dòng)化并更頻繁地集成到其工具鏈中。 自動(dòng)化build颇象、自動(dòng)化單元測(cè)試伍伤、自動(dòng)化驗(yàn)收測(cè)試、自動(dòng)化性能測(cè)試遣钳、自動(dòng)化安全測(cè)試扰魂、自動(dòng)配置并部署到測(cè)試環(huán)境、自動(dòng)部署到生產(chǎn)環(huán)境蕴茴、集成chatbots / Slack劝评、生產(chǎn)監(jiān)控和觀察性工具等等。盡管自動(dòng)化可能被認(rèn)為實(shí)施起來過于昂貴倦淀,但自動(dòng)化確實(shí)是一項(xiàng)明智的投資蒋畜。它可以使工程師花費(fèi)更少的時(shí)間 從事手工工作,從而騰出時(shí)間來進(jìn)行其他重要活動(dòng)撞叽,如新開發(fā)百侧,重構(gòu),設(shè)計(jì)工作和文檔編制能扒。 它還使工程師對(duì)工具鏈更有信心佣渴,從而減輕了推動(dòng)變更的壓力。

內(nèi)部搜索和外部搜索

內(nèi)部搜索:構(gòu)建企業(yè)內(nèi)部的知識(shí)庫初斑,共享知識(shí)可以幫助大家更快的找到問題的答案辛润。
外部搜索:為學(xué)習(xí)和成長提供了強(qiáng)大的社區(qū),也為公共云和開源工具提供支持

組織相關(guān)

跨職能團(tuán)隊(duì)的重要性

跨職能的團(tuán)隊(duì)具有完成工作所需的全部能力,而無需依賴團(tuán)隊(duì)以外的其他人

精益產(chǎn)品管理

精益產(chǎn)品管理功能對(duì)軟件交付性能砂竖,組織文化和組織績效產(chǎn)生積極影響真椿。

  • 團(tuán)隊(duì)將產(chǎn)品和功能切成小批量可以完成的程度,在不到一周的時(shí)間內(nèi)發(fā)布并頻繁發(fā)布乎澄,包括使用最低限度可行的產(chǎn)品(MVP)
  • 組織是否定期積極地尋求客戶反饋突硝,并將此反饋納入其產(chǎn)品設(shè)計(jì)中
  • 開發(fā)團(tuán)隊(duì)是否有權(quán)在不經(jīng)批準(zhǔn)的情況下創(chuàng)建和更改規(guī)范,并將其作為開發(fā)過程的一部分

報(bào)告:
state-of-devops-2019
state-of-devops-2018
state-of-devops-2017
state-of-devops-2016

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末置济,一起剝皮案震驚了整個(gè)濱河市解恰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌浙于,老刑警劉巖护盈,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異羞酗,居然都是意外死亡腐宋,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門檀轨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來胸竞,“玉大人,你說我怎么就攤上這事参萄∥乐Γ” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵拧揽,是天一觀的道長剃盾。 經(jīng)常有香客問我腺占,道長淤袜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任衰伯,我火速辦了婚禮铡羡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘意鲸。我一直安慰自己烦周,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布怎顾。 她就那樣靜靜地躺著读慎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪槐雾。 梳的紋絲不亂的頭發(fā)上夭委,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音募强,去河邊找鬼株灸。 笑死崇摄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的慌烧。 我是一名探鬼主播逐抑,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼屹蚊!你這毒婦竟也來了厕氨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤淑翼,失蹤者是張志新(化名)和其女友劉穎腐巢,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體玄括,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡冯丙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了遭京。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胃惜。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖哪雕,靈堂內(nèi)的尸體忽然破棺而出船殉,到底是詐尸還是另有隱情,我是刑警寧澤斯嚎,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布利虫,位于F島的核電站,受9級(jí)特大地震影響堡僻,放射性物質(zhì)發(fā)生泄漏糠惫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一钉疫、第九天 我趴在偏房一處隱蔽的房頂上張望硼讽。 院中可真熱鬧,春花似錦牲阁、人聲如沸固阁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽备燃。三九已至,卻和暖如春凌唬,著一層夾襖步出監(jiān)牢的瞬間并齐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留冀膝,地道東北人唁奢。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像窝剖,于是被迫代替她去往敵國和親麻掸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355