關於什麼是 DevOps
關於什麼是DevOps
最近聽到業內一個很熱門的詞:DevOps。那麼什麼是DevOps呢?它僅僅是Dev和Ops兩個崗位職責的拼接麼?還是指的從程式碼研發的到釋出的流程?還是一套符合敏捷思維的理論體系?你覺的會是什麼呢?
其實業內也沒有一個很明確的定義到底是什麼是DevOps,各有各的理解。這裡採用林偉丹老師對DevOps給出的定義:DevOps是敏捷軟體開發與精益生產的思想演進,應用到IT端到端的價值鏈中,使得業務基於現代資訊科技,通過文化、組織與技術變革而獲取更大的成功。是不是很不容易理解呢,也記不住,對吧。簡單來說就是以下三個基本資訊:
DevOps並沒有取代敏捷或者精益,而是友好的吸收和並存
DevOps的本質是不僅僅思考軟體開發,而是整體價值鏈(是不是我們印象中的不一樣呢?)
DevOps的預期價值是更多的IT回報。
研發流程中對應的敏捷理論
在整體研發過程中(從商業論證到產品交付)中,不同的階段會有對應的理論支撐,簡單來說對應以下對應關係(大概的分類,不是十分精確,但整體上有助於我們理解)
敏捷(Agile):主要覆蓋的是專案管理(部分)到可釋出的增量產品(測試通過)的過程,通常說的Scrum只是敏捷的其中一種實踐方式(以後有機會細講)。
CI(持續整合 Continuous Integration):強調每次的程式碼交付都是可測試、快速反饋、高質量的整合,隨時可釋出。
CD(持續部署 Continuous Deployment):實現最終的業務價值交付,讓使用者可以直觀的感受到成果。
ITSM(IT服務管理):強調的是輕量級的ITSM,主要用於管理生產事件和變更流程
Lean(精益管理):衍生自豐田生產方式的一種管理哲學,強調消除浪費。
TPS(豐田管理 Toyota Production System):提倡拉動式生產,努力做到Just In Time(剛剛好的生產)
組織文化:DevOps理念不僅僅是工具的使用,而是自上而下的文化變革,需要高層從上到下的支援與貫徹。
CICD的區別
在上面的概念中,有簡單的提到了CI和CD的區別,這裡單獨拎了來再講講,是因為這個是我們目前接觸的頻率非常高的詞,有必要再統一下概念。其實這裡還隱藏了一個CD(Continuous Delivery):
CI(持續整合 Continuous Integration):關注開發每次提交的程式碼是否是正確的,強調的是程式碼層面的實現是否完成,是否是可工作的軟體(整合測試通過,每次合併程式碼都不影響有的功能,需要高度的自動化測試介入,減少人工介入)。
CD(持續交付Continuous Delivery):關注需求是否完全實現,是否可以給使用者演示,強調的是可釋出的產品增量(實現了具有價值的某些使用者故事)
CD(持續部署 Continuous Deployment):最終釋出生產的業務,讓使用者可以直接使用,強調業務最終產生了實際的價值並接受市場的反饋。
相關文章
- 什麼是 DevOpsdev
- 什麼是DevOps?dev
- Devops-01-devops 是什麼?dev
- 什麼是 SRE?它和 DevOps 是怎麼關聯的?dev
- 【Azure DevOps系列】什麼是Azure DevOpsdev
- 關於什麼是框架框架
- DevOps是什麼?DevOps能夠給我們帶來什麼?dev
- DevOps是什麼?5分鐘帶你瞭解DevOpsdev
- [專業術語]什麼是DevOps?dev
- DevOps的目標是什麼?有什麼好處?dev
- 讀材料後筆記:什麼是DevOps筆記dev
- 什麼是DevOps團隊拓撲? - atlassiandev
- DevOps是什麼?K8S在DevOps場景下的應用!devK8S
- GNU是什麼?和Linux是什麼關係?Linux
- 什麼是DevOps的三步工作法?dev
- 阿里巴巴DevOps實踐指南(一)| 為什麼DevOps的必然趨勢是BizDevOps阿里dev
- SID是什麼?用於什麼場景
- 關於程式碼重構的靈魂三問:是什麼?為什麼?怎麼做?
- 什麼是Yottachain和YTA幣,它們是什麼關係?AI
- 什麼是Cython?和Python有什麼關係?Python
- Java是什麼? Java適用於什麼工作?Java
- DevOps工程師到底做些什麼?dev工程師
- 什麼是雲資料庫?關於IaaS、PaaS、SaaS、DBaaS 詳解資料庫
- GitClub和GitHub是什麼關係Github
- 什麼是反對稱關係?
- Chronicles 和 IRIS 是什麼關係
- IRIS 和 Caché 是什麼關係
- 關鍵字const是什麼含意?
- 什麼是客戶關係管理
- JDK、JRE、JVM,是什麼關係?JDKJVM
- 什麼是“約定大於配置”
- 給產品經理講講,什麼是持續交付和DevOpsdev
- 什麼是seLinux?Linux關閉seLinux有什麼影響?Linux
- linux和ubuntu區別是什麼?有什麼關係?LinuxUbuntu
- Linux中apt是什麼?和Dpkg有什麼關係?LinuxAPT
- 元宇宙是什麼,和遊戲有什麼關係元宇宙遊戲
- 什麼是範疇論,為什麼會流行? 數學不是關於數字的學問!- Katerina
- 作為DevOps角色能做些什麼?dev