敏捷DevOps傻傻不分清楚

      網(wǎng)友投稿 775 2022-05-29

      前言

      敏捷是什么?DevOps是什么?兩者有什么區(qū)別?

      持續(xù)集成不是XP里面的么,怎么DevOps也有持續(xù)集成?

      我們之前在做敏捷轉(zhuǎn)型,現(xiàn)在又開始DevOps轉(zhuǎn)型,到底啥情況?

      總覺得與其去糾纏一個定義,不如踏踏實實做點兒事情。

      沒必要太糾結(jié),因為兩者都在演進,兩者也越來越像,否則不會有這些疑問。

      原本沒想寫這個話題,客戶問起也只是簡單說明。

      只是最近不斷有人問起,也看到有一些誤導(dǎo)性的言論,所以也許還是有必要說說自己的觀點。

      這個話題注定討論不清,也注定會有不同的意見;

      所有文字僅代表我一家之言,沒必要扣什么帽子;

      我本人是先做敏捷后做DevOps的,這是我的知識背景;

      歡迎討論,如果初衷是好的話,道理越辯越明;

      恕不奉陪,如果是以混淆視聽為目的論戰(zhàn)。

      先說我的觀點:

      敏捷與DevOps初衷,目的是為了解決問題,不是為了樹碑立牌,更不是為了占領(lǐng)地盤。

      兩者并非涇渭分明,也沒有一條線能夠劃出來,說哪邊是敏捷,哪邊是DevOps。

      討論敏捷與DevOps,目的是為了了解兩者之間的內(nèi)在聯(lián)系,而不是為了劃清界限。

      常常在討論的,是狹義的敏捷與DevOps概念,而廣義的敏捷與DevOps,已經(jīng)趨同。

      兩者都是試圖去解決相同,或相近的問題,只是革命尚未成功,同志還需一起努力。

      傻傻不分清楚,是不想分太清,沒必要分清楚,難得糊涂。

      狹義的敏捷與DevOps,也許是你想聽到的兩者區(qū)別。

      強調(diào)一下,這里說的,注意是狹義而不是狹隘;有狹義就有廣義,如果你堅持固守狹義的概念,會不會有點兒狹隘了呢?

      傳統(tǒng)的敏捷是為了解決第一個gap,即業(yè)務(wù)與開發(fā)之間的鴻溝。通過敏捷宣言中強調(diào)的個體和互動、可工作的軟件、客戶合作、響應(yīng)變化,以及12條原則中的盡早的以及連續(xù)的高價值交付、自組織團隊、小批量交付、團隊節(jié)奏、可改善可持續(xù)的流程、保持溝通等,以及包括Scrum、Kanban、XP在內(nèi)的眾多管理和工程實踐,來實現(xiàn)開發(fā)與業(yè)務(wù)之間的頻繁溝通,快速響應(yīng)變化。

      而DevOps的出現(xiàn),是為了解決圖中的第二個gap,即開發(fā)與運維之間的鴻溝。前端的敏捷的確是快了,卻發(fā)現(xiàn)因為Dev與Ops之間的隔閡,無法真正的將價值持續(xù)的交付給客戶。

      敏捷,DevOps,傻傻不分清楚

      開發(fā)側(cè)很快,運維側(cè)太穩(wěn),這個就是我們常說的開發(fā)與運維之間固有的、根因的沖突,即下圖中的混亂之墻。開發(fā)(尤其是“敏捷”后),求的是快速響應(yīng)變化;運維,求的是穩(wěn)定、安全和可靠的服務(wù);更重要的,兩者的KPI度量指標(biāo),績效考核激勵機制不同,決定了如果為達成各自的局部目標(biāo),勢必存在無法調(diào)和的根因沖突。

      DevOps的出現(xiàn),就是為了打破開發(fā)與運維之間的部門墻,從這點上來說,我支持DevOps是敏捷在運維側(cè)的延伸這一說法。只是,敏捷與DevOps,都已經(jīng)不再是原來的那個敏捷和DevOps了;世界變化太快,問題域發(fā)生了變化,解決方案域自然也要隨之變化。

      敏捷的好處是,有一個敏捷宣言,宣告其誕生;敏捷的缺點,也許也是因為有敏捷宣言;敏捷宣言并不應(yīng)該被拿來約束和限制敏捷的范圍;敏捷宣言也說擁抱變化,宣言誕生于2001年,時至今日,應(yīng)該也當(dāng)然會與時俱進,只是后來再沒有這樣的一個標(biāo)志性的事件來做聲明。

      DevOps的不好之處,是沒有一個明確的定義;DevOps的好處,卻也正是因為沒有一個明確的定義做限制,所以拿來主義,一切好的東西,都可以為我所用。

      DevOps是個筐,什么都可以往里裝,敏捷又何嘗不是呢?(這里全是褒義)

      我是2012年在IBM接觸到DevOps的概念的,IBM對DevOps有D2O和E2E的概念,D2O,Dev to Ops,即經(jīng)典、狹義的DevOps概念,解決的是Dev到Ops的鴻溝;E2E,End to End,即端到端、廣義的DevOps,是以精益和敏捷為核心的,解決從業(yè)務(wù)到開發(fā)到運維,進而到客戶的完整閉環(huán)。

      還有DevOps的6C概念,即Continuous Planning, Continuous Integration, Continuous Testing, Continuous Deploy, Continuous Release, Continuous Feedback,事實上,也是端到端廣義的DevOps。

      維基百科上的總結(jié),DevOps的出現(xiàn),有四個關(guān)鍵驅(qū)動力

      互聯(lián)網(wǎng)沖擊要求業(yè)務(wù)的敏捷

      虛擬化和云計算基礎(chǔ)設(shè)施日益普遍

      數(shù)據(jù)中心自動化技術(shù)

      敏捷開發(fā)的普及

      業(yè)務(wù)敏捷,開發(fā)敏捷,運維側(cè)自動化,以及云計算等技術(shù)的普及,幾乎打穿了從業(yè)務(wù)到開發(fā)到運維(當(dāng)然里面還有測試),所以雖然字面上是Dev到Ops,事實上,開玩笑的說,已經(jīng)是BizDevTestOpsSec了,即從狹義的D2O,前后延伸到E2E,端到端廣義的DevOps了。

      DevOps能力成長模型,是Nicole Forsgren博士,Jez Humble以及Gene Kim三位大師,基于多年DevOps現(xiàn)狀報告的基礎(chǔ)上,匯聚出來的能力模型。(上圖是劉征老師基于Accelerate一書,以及多年DevOps現(xiàn)狀報告的基礎(chǔ)上,二次創(chuàng)新,匯總出來的模型)

      從能力模型上來看,所有的連線匯聚點,也就是最終的目的,是組織效能。軟件交付和運維效能,是敏捷與DevOps共同的目標(biāo)。

      其中持續(xù)交付是狹義DevOps的核心理念,橫跨了架構(gòu)、開發(fā)、測試、運維等角色;持續(xù)交付的核心開發(fā)實踐,也涵蓋了架構(gòu)管理,版本管理,分支策略,測試自動化,部署發(fā)布,運維監(jiān)控,信息安全,團隊授權(quán),數(shù)據(jù)庫管理等多個維度,其中不乏傳統(tǒng)我們常說的敏捷相關(guān)實踐,尤其是下圖中XP極限編程的很多實踐,半數(shù)以上在DevOps里都能找到。

      能力成長模型,除了持續(xù)交付,還包括精益領(lǐng)導(dǎo)力、精益產(chǎn)品開發(fā)、精益管理、組織文化與學(xué)習(xí)氛圍。DevOps已遠遠不是CI/CD那么簡單,CALMS原則,也橫跨了文化、管理、精益與技術(shù)。

      敏捷宣言的十二條原則,SAFe的九大原則,以及DevOps的CALMS原則,也是彼此相互融合。SAFe有借鑒DevOps的理念和方法,DevOps又采納敏捷的思想和實踐,大家又都以精益為思想核心。到底誰包含誰,誰比誰大,彼此的界限在哪里呢?

      方法也好,實踐也好,其價值應(yīng)該由客戶價值來體現(xiàn)。對客戶而言,需要解決的問題,是端到端的,是全局而不是局部優(yōu)化;

      所以,是什么,不重要;能解決什么,要解決什么問題,很重要。

      DevOps的核心,是精益與敏捷的思想和原則,所以你說到底是敏捷包含了DevOps呢,還是DevOps包含了敏捷呢?我覺得沒必要糾纏,兩者原本已經(jīng)無法區(qū)分,也無需區(qū)分。

      敏捷也好,DevOps也罷,能抓住耗子就是好貓。具體應(yīng)該叫什么,你為什么要那么糾結(jié)?

      DevOps是集大成者,是各種好的原則和實踐的融合;敏捷又何嘗不是如此,2001年的17位雪鳥大師,各自在踐行著不同的敏捷框架和實踐,敏捷宣言和原則,原本就是一次融合;2003年Mary Poppendieck和Tom Poppendieck的精益軟件開發(fā)方法,即便是已經(jīng)有敏捷宣言的前提下,不也一樣納入敏捷開發(fā)的范疇么;敏捷也是在不斷前行,DevOps與敏捷殊途同歸,是同一問題的不同分支,最終匯集到同一個目標(biāo)。

      一個好的方法論,應(yīng)該是與時俱進,兼容并蓄的;應(yīng)該是開放的,演進的而不是固化的。

      方法論如此,學(xué)習(xí)和實踐方法論的人,更應(yīng)該如此,以一顆開放的心態(tài),接納一切合理的存在。

      參考資料:

      ”http://www.slideshare.net/JrmeKehrli/devops-explained-72091158“

      “DevOps能力成長模型”

      IBM DevOps資料

      維基百科

      姚冬?資深DevOps與精益/敏捷專家,軟件工程專家;中國DevOpsDays社區(qū)核心組織者之一;Exin DevOps?Professional認證講師;鳳凰沙盤認證講師;SAFe SPC規(guī)?;艚葑稍儙?;認證Scrum Master,?SAFe Agilist;曾任IBM DevOps產(chǎn)品線大中華區(qū)技術(shù)總監(jiān),金融行業(yè)Technical Leader;現(xiàn)任華為云軟件開發(fā)云首席技術(shù)布道師。

      軟件開發(fā)平臺 DevCloud 敏捷開發(fā) 軟件開發(fā)云 DevOps

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:FusionSphere解決方案之服務(wù)器虛擬化場景
      下一篇:操作系統(tǒng)中幾個常用關(guān)鍵的概念
      相關(guān)文章
      亚洲熟妇AV乱码在线观看| 亚洲综合国产一区二区三区| 亚洲成AV人片在线观看ww| 亚洲成人高清在线| 亚洲精品久久久久无码AV片软件| 亚洲综合色7777情网站777| 久久亚洲AV成人出白浆无码国产| 亚洲产国偷V产偷V自拍色戒| 亚洲一区爱区精品无码| 伊人婷婷综合缴情亚洲五月| 中文字幕亚洲乱码熟女一区二区| 亚洲一区二区三区免费| 中文字幕久久亚洲一区 | 亚洲国产精品线观看不卡| 亚洲蜜芽在线精品一区| 亚洲精品第一国产综合精品| 亚洲男人的天堂在线| 亚洲一区二区三区久久| 久久精品国产亚洲AV忘忧草18| 国产色在线|亚洲| 亚洲另类自拍丝袜第五页| 亚洲heyzo专区无码综合| 五月天婷亚洲天综合网精品偷| www.亚洲色图.com| 丁香五月亚洲综合深深爱| 亚洲精品午夜无码专区| 亚洲va在线va天堂va四虎 | 国产成人亚洲综合在线| 亚洲精品成人区在线观看| 国产亚洲精品AA片在线观看不加载| 亚洲高清免费视频| 亚洲综合伊人久久大杳蕉| 久久夜色精品国产亚洲| 亚洲美女视频网址| 国产亚洲福利在线视频| 怡红院亚洲红怡院在线观看| 亚洲综合色区在线观看| 亚洲AV午夜成人影院老师机影院| 精品亚洲麻豆1区2区3区| 亚洲午夜成激人情在线影院 | 亚洲色欲色欲www|