DevOps是什麼?5分鐘帶你瞭解DevOps

DevOps是什麼?5分鐘帶你瞭解DevOps
by:karlin999的CSDN博客
DevOps(英文Development和Operations的組合)是一組過程、方法與系統的統稱,用於促進開發(應用程序/軟件工程)、技術運營和質量保障(QA)部門之間的溝通、協作與整合。它的出現是由於軟件行業日益清晰地認識到:爲了按時交付軟件產品和服務,開發和運營工作必須緊密合作。
可以把DevOps看作開發(軟件工程)、技術運營和質量保障(QA)三者的交集。
傳統的軟件組織將開發、IT運營和質量保障設爲各自分離的部門。在這種環境下如何採用新的開發方法(例如敏捷軟件開發),這是一個重要的課題:按照從前的工作方式,開發和部署不需要IT支持或者QA深入的、跨部門的支持,而卻需要極其緊密的多部門協作。然而DevOps考慮的還不止是軟件部署。它是一套針對這幾個部門間溝通與協作問題的流程和方法。
需要頻繁交付的企業可能更需要對DevOps有一個大致的瞭解。Flickr發展了自己的DevOps能力,使之能夠支撐業務部門“每天部署10次”的要求──如果一個組織要生產面向多種用戶、具備多樣功能的應用程序,其部署週期必然會很短。這種能力也被稱爲持續部署,並且經常與精益創業方法聯繫起來。 從2009年起,相關的工作組、專業組織和博客快速涌現。
DevOps的引入能對產品交付、測試、功能開發和維護(包括──曾經罕見但如今已屢見不鮮的──“熱補丁”)起到意義深遠的影響。在缺乏DevOps能力的組織中,開發與運營之間存在着信息“鴻溝”──例如運營人員要求更好的可靠性和安全性,開發人員則希望基礎設施響應更快,而業務用戶的需求則是更快地將更多的特性發布給最終用戶使用。這種信息鴻溝就是最常出問題的地方。
以下幾方面因素可能促使一個組織引入DevOps:
使用敏捷或其他軟件開發過程與方法
業務負責人要求加快產品交付的速率
虛擬化和雲計算基礎設施(可能來自內部或外部供應商)日益普遍
數據中心自動化技術和配置管理工具的普及
有一種觀點認爲,占主導地位的“傳統”美國式管理風格(“斯隆模型 vs 豐田模型”)會導致“煙囪式自動化”,從而造成開發與運營之間的鴻溝,因此需要DevOps能力來克服由此引發的問題。
DevOps經常被描述爲“開發團隊與運營團隊之間更具協作性、更高效的關係”。由於團隊間協作關係的改善,整個組織的效率因此得到提升,伴隨頻繁變化而來的生產環境的風險也能得到降低。
DevOps對應用程序發佈的影響
在很多企業中,應用程序發佈是一項涉及多個團隊、壓力很大、風險很高的活動。然而在具備DevOps能力的組織中,應用程序發佈的風險很低,原因如下:
與傳統開發方法那種大規模的、不頻繁的發佈(通常以“季度”或“年”爲單位)相比,敏捷方法大大提升了發佈頻率(通常以“天”或“周”爲單位)
減少變更範圍與傳統的瀑布式開發模型相比,採用敏捷或迭代式開發意味着更頻繁的發佈、每次發佈包含的變化更少。由於部署經常進行,因此每次部署不會對生產系統造成巨大影響,應用程序會以平滑的速率逐漸生長。加強發佈協調靠強有力的發佈協調人來彌合開發與運營之間的技能鴻溝和溝通鴻溝;採用電子數據表、電話會議、即時消息、企業門戶(wiki、sharepoint)等協作工具來確保所有相關人員理解變更的內容並全力合作。強大的自動化部署手段能夠確保部署任務的可重複性、減少部署出錯的可能性。
想了解更多DevOps知識,歡迎登陸華爲雲學院(https://edu.huaweicloud.com/courses/
《華爲DevOps實踐》精品課程免費學!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章