-
1 # 程式設計師那點事
-
2 # 人月聊IT
首先看下DevOps的定義:
DevOps(英文Development和Operations的組合)是一組過程、方法與系統的統稱,用於促進開發(應用程式/軟體工程)、技術運營和質量保障(QA)部門之間的溝通、協作與整合。它的出現是由於軟體行業日益清晰地認識到:為了按時交付軟體產品和服務,開發和運營工作必須緊密合作。
對於DevOps的提出已經很多年,其主要的推動仍來自兩個方面:
1. 業務和需求驅動下,推動敏捷方法論,敏捷下需要更加短週期,更快的釋出和交付。
2. 技術和運維部門需要銜接,在PaaS和容器技術發展下,進一步推動這部分陷阱的自動化。
雖然是三方交融地方為DevOps的內容,但是可以看到DevOps本身更多的是要解決兩大類協同和自動化的問題,其一是開發部門和QA協同,其二是開發部門和運維的協同。
1. 第一個問題的解決:已有的持續整合方法論
2. 第二個問題的解決:當前由雲平臺,微服務架構,容器技術發展推動的自動化釋出和監控運維
把上面思路理清楚後,對於DevOps要做或需要解決的事情也就更加明確的。
1. 實現軟體和硬體基礎設施(雲平臺資源)的對接(自動部署,動態擴充套件)-PaaS,Docker
2. 實現不同環境間的自動遷移 - 持續整合+自動化遷移
3. 能夠滿足更加高頻率的釋出節奏,單次釋出更加快速 - 持續整合
4. 能將QA和QC部分檢驗和審查工作自動銜接到釋出和交付過程 - 自動化測試,自動化監控
要做好DevOps基於上面的分析就可以從持續整合和PaaS平臺融合兩方面來談
DevOps和持續整合
對於持續整合我前面已經專門有文章談到過,這個沒有提DevOps概念的時候也在做持續整合,透過持續整合真正實現了版本和配置管理,單元測試,自動構建,環境遷移和配置修改,整合順序規劃這些關鍵內容。
比如我們常說的一個工具組合:Jenkins,Maven,Ant , Junit,SubVersion 。 為了更好持續異地協同開發,以及後續和公有云PaaS融合,版本庫可以轉到GitLab或GitHub上面。
在持續整合裡面我們經常會談一個重點,即業務系統是基於元件化架構的,即各個元件可以獨立管理和部署,元件之間透過服務介面松耦合。只有這樣才能將後續增量釋出影響降低到最小。這個概念現在轉到微服務架構裡面來進一步實現。
DevOps和PaaS平臺融合
對於和PaaS平臺融合是DevOps的第二個內容,我們希望的就是我們在測試態測試和驗證完成的部署包能夠自動的交付和遷移到生產環境的託管資源中。在這裡就涉及到PaaS平臺提供的自動部署和託管,資源動態管理等方面的能力。
比較重的:Cloudfoundry或Cloudify能提供完整的解決方案。
比較輕的:我們可以基於Docker容器技術+Kubernetes+Puppets來實現自動化和動態資源管理。
在PaaS平臺下,由於部署和資源的動態管理都被PaaS平臺完全接管,因此更加需要整個平臺必須提供完整的日誌管理,傳統IT網管,中介軟體資源池監控,包括到APM層效能分析的完整解決方案和工具集。要實現這些你可以在監控方面用Nagios或zabbix解決方案。日誌管理和分析可以用ELK方案,整個過程中的自動化指令碼用Puppet等。
一個DevOps是否執行的好基礎指導是敏捷和持續整合的方法論,難點在多版本管理和微服務架構設計(元件劃分是否合理)和後期的監控運維。
-
3 # 博睿資料
DevOps是IT服務管理的一種模式。過去的數十年間,IT運維發展經歷了數個階段。從早期的手工運維到標準化運維、自動化運維,到如今的DevOps、AIOps。
簡言之,DevOps試圖打通開發和運維的部門牆,從而打通整個IT價值交付的全生命週期,從產品需求到上線運維的全過程實現效率的提升。
DevOps最顯著的作用是提高了企業產品的交付質量、縮短開發週期、減少故障。而降本增效是每一個公司在數字化轉型之後的很大的挑戰,DevOps無疑直擊痛點。
-
4 # 諧雲
DevOps是與企業數字化轉型、IT敏捷和迭代開發等相關聯的,側重於工具、流程和團隊協同,既符合市場需要又兼具強大的生命力和發展空間。基於DevOps可以重塑企業的整個IT專案實施與管理模式,打破傳統專案(需求、研發、測試、釋出、運營)管理流程與角色分工,構建全生命週期的專案管理與協作流程,實現價值交付的最大化。
當前,企業研發運營體系正在向多元化方向發展,包含了DevOps、DevSecOps、AIOps、BizDevOps、FinOps 等內容的XOps體系逐漸落地並深化應用,為企業提供了資訊化建設實施路徑和建議,實現企業數字化轉型行穩致遠。
如企業級BizDevOps研發管理平臺,即實現了軟體架構升級革新、需求前置、研發實踐體系化、知識庫協作、自動化度量等能力,牢固了企業數字化轉型的技術底座。同時,全方位改善了軟體質效體系,實現資訊化專案交付的高效率和高質量。
再比如像我們為浙商銀行打造的基於DevOps的效能提升軟體質效體系,該方案從軟文化建設—流程規範、硬能力建設—平臺工具兩個方面著手,解決了浙商銀行過去面臨的過程管控無抓手、流程機制不完善、質量控制不深入、軟體專案過程中人工操作多且出錯風險高等問題。
回覆列表
根據Gartner 2015 I&O Automation 報告,DevOps處於技術發展的最高點,實踐受到高度關注,到底devops魔力在哪裡?
從devops實踐看主要是打破開發人員和運營人員界限,讓運營思想能提前落地在研發的前端,避免研發過多的關注功能,而忽略運營需求。從這個角度講,devops理論上來講對整個開發效率提升並沒有明顯的促進作用,如果僅是開發人員和運營人員融合,這個成本代價也是很高的,既懂得研發又懂得運營的這種全面人才估計企業內部少有,還提高了門檻,那到底怎麼提升效率又不提高人員能力門檻呢?最近從華為產品中得到了一些啟示,瞭解到devops理念如何貫穿整個開發流程提升效率,怎樣透過工具簡單實現一個專案的devops高效流程。
一個專案開發需要進行這樣操作即可,“新建專案 > 新建迭代 > 新建工作項 > 新建程式碼倉庫 > 新建程式碼檢查任務 > 新建編譯構建任務 > 測試管理 > 部署管理 > 釋出管理”,整個流程涉及程式碼開發、程式碼檢查、
程式碼編譯構建、部署、釋出環境均可以透過流水線定製自動化執行,很簡單的構建整個持續整合和部署、釋出流程,自動化和流程化整個開發和運營流程,這應該就是devops的核心了。
整個過程透過簡單選項新增即可,如新增一個新的構建選項:
自動化執行一鍵啟動,自動完成:
成功失敗可以等待,也可以直接看右上角的訊息,直接能看到自動化流水線的結果