加速企業敏捷的DEVOPS平臺的開發與建設
大家好,本次內容我在我司上個月的PWorld大會上分享過,線下會議參與人數有限,這次應邀在微信上向更廣泛的人群分享。希望對大家能有幫助,謝謝!
今天分享的主題是加速企業敏捷的DevOps平臺。DevOps在2009年提出,經過雲端計算、微服務、容器等技術概念的推動,DevOps已經被大多數的企業接受並開始付諸實踐。
根據我們的實踐,接下來我從四個維度為大家分享DevOps:
一:對DevOps的理解與認知
二:和大家分享我們DevOps實踐的一些總結
三:通過構建DevOps平臺支撐企業DevOps的快速引入
四:和大家探討下,實施DevOps從哪裡開始
我們先來看個問題,看下企業實施DevOps的情況:
第一個問題,應用上線(哪怕是改動一行程式碼)需要多長時間?
大家的週期通常是月、周、天、小時?
如果大家釋出週期在周級別,還有大量的工作靠人工執行,我們需要儘快引入DevOps了。
目前業界對DevOps的瞭解可謂千人千面,我們先看下維基百科給出的定義:
DevOps是一組過程、方法與系統的統稱,用於促進開發、運維部門之間的溝通、協作與整合。
DevOps是提倡開發和IT運維之間的高度協同,從而在完成高頻率部署的同時,提高生產環境的可靠性、穩定性、彈性和安全性。
從廣義的角度來講,我們認為DevOps應該從支援專案敏捷到支撐企業敏捷。
我們認為:DevOps不僅是打通開發運維之間的部門牆,更多的需要從應用的全生命週期考慮,實現應用全生命週期的工具鏈路打通、跨團隊的線上協作能力。
縱向整合中DevOps強調的重點是跨工具鏈的「自動化」,最終實現全部人員的「自助化」服務。
橫向整合中DevOps強調的重點是跨團隊的「線上協作」,也即是通過IT系統,實現資訊的「精確傳遞」。
對於DevOps的理解,目前業界存在不少的誤區,希望大家在實踐的時候能夠快速跳過這些誤區,成功實施DevOps。
採用了雲端計算(IaaS、容器)才能開展DevOps,確切的講應該是採用雲端計算有助於加速DevOps的落地,雲端計算決不是實施DevOps的先決條件,傳統的基礎設施一樣可以支撐DevOps的落地;
微服務架構開發的應用實適合;實施DevOps與應用架構無關,無論是採用微服務架構、SOA架構,都可以開展DevOps工作;
採用自動化工具本身不是DevOps,只有將這些工具與持續整合、持續交付、持續的反饋與優化進行端到端的整合時,這些工具才成為DevOps的一部分;
設定獨立的DevOps部門,在責任沒有清晰定義的情況下,這麼做會導致更多的豎井,創造更多的混亂。
自動化是DevOps非常重要的一部分,但不是唯一的部分。
我們認為實施DevOps需要從敏捷、持續、協作、系統性、自動化五個維度進行建設與改進
敏捷、自動化大家已經比較熟悉,大部分企業也已經付諸了實踐工作。
另外我們還需要實現跨部門與組織的協作,從技術、流程維度實現系統化的改進;最後我們認為實施DevOps是一個持續的過程,需要不斷的進行總結、反饋、優化。
實施DevOps,可以參考總結的“DevOps實踐模型”,從組織、技術、流程三個維度中選擇部分開始實踐。
根據我們的實施經驗,在傳統企業中,技術方面的實踐最容易在團隊中實現、流程次之、組織的優化與變革最為艱難;大家嘗試的時候,可以由易入難。
接下來我們看如何在組織方面實現敏捷。
全棧團隊,而非全棧員工,按照「兩個披薩原則」進行團隊組建;團隊分組是需要基於特性而非技術維度進行團隊劃分,確保每個團隊開發出來的都是可用產品;
特性團隊,是指在大型專案中,根據功能特性進行團隊的劃分與元件,而不是根據技術特性,根據功能特性元件的團隊每次交付的都是使用者可用的產品,可以提前進行確認,避免專案結束時候發現交付的產品是不可用的。
通過全棧和特性團隊的磨練,逐漸形成自治的、自交付的團隊組織。
在技術層面,我們實施了基礎設施即編碼的能力,將基礎環境可程式設計化,專案團隊成員可以自助獲取;
形成持續編譯、自動化測試、持續部署的能力;
另外我們正在做一件比較有意義的事情,ChatDevOps。ChatDevOps是基於對話驅動的,將開發、運維工具植入對話中的,一批的開發運維機器人為我們提供各種服務。大家如果有興趣,可以關注下hubot。
在流程方面,我們實施了看板文化。看板通常被當作任務協調溝通的機制;我們把看板作為在製品管制平臺,量化組織生產能力;
在產品交付上採用MVP模式,快速交付產品原型,通過市場來驗證,修正產品,最終適應市場的需求;
每個專案必須建立持續釋出機制,形成自動化、自助化兩種能力;
建立度量體系,讓資料說話,建立組織的各種資料基線,一方面可以掌控組織的生產力水平,另一方面通過度量資料,反向優化組織瓶頸點;
基於上面的最佳實踐,總結了企業DevOps宣言:
我們認為實施DevOps的終極目標是加速企業的敏捷轉型,從根本上提升IT的生產效率,加速部門、企業的業務創新能力。讓團隊從IT支撐部門,轉向為IT創新部門。
針對技術、流程我們通過平臺進行了最佳實踐的固化,形成了支援DevOps的平臺。
在平臺建設時,一個非常重要的思路是建設“以應用為中心的DevOps平臺”。大家如果關注業界DevOps平臺的話,會發現市面上的DevOps平臺更多的是偏向“以資源為中心的”,提供更多是建立容器、VM的能力。
DevOps平臺通常具備的幾個核心特性:
完整的DevOps平臺至少提供統一的工作臺,支援部門的協同工作;
打通工具鏈,做到自動化和自助化;
實現研發過程的度量,建立組織基線資料;
無縫支援多種環境公有云、私有云,常見的容器、VM;
執行期提供應用高可靠、伸縮漂移等能力;
大家可以看下我們在DevOps平臺打通的工具鏈。
如果團隊要自主掌握龐大的工具需要大規模的團隊,而使用統一的工作臺可以簡化整個工具的使用。
基於容器雲的DevOps平臺主要分為三層:
基礎設施層:包括IaaS,CaaS,我們分別是基於Kubernetes、Docker實現,上層有一層不同環境的適配,可以無縫對接私有云、公有云、混合雲;
基礎服務層:包括服務管理與排程的基礎能力,如註冊中心,編排,伸縮漂移;還有一堆具體的企業級或網際網路式的雲服務;
DevOps層:提供支撐全生命週期的18大領域系統更多的是工作流程(需求、設計、開發、測試、釋出等)的串接,看板等文化的體現。
為大家展示下一鍵釋出能力,通過DevOps平臺,可以一鍵從原始碼獲得可訪問的環境(自動根據應用的部署編排,實現了自動化的編譯、整合、打包、部署、啟動等)。
實施DevOps後的改變,首先團隊變得更自治,成為使命型組織;溝通協作更順暢;實現了開發人員的自助化服務;開發運維機器人提供更多的輔助功能。
大家可能非常關心,如何在各自的企業中如何落地DevOps平臺那?
在企業進行DevOps落地時,我們給大家推薦兩個原則:
1、尋找痛點,從痛點入手;
2、將重複的、無價值的事情儘快自動化;
基於這兩個原則,我們認為持續的部署,是目前企業實施最大的痛點,因此推薦實施DevOps從持續釋出開始,後續可以建設量身定製的DevOps平臺。逐漸搭建企業的雲端計算平臺、採用微服務架構進行應用的拆分。
最後,我們回顧下今天的分享,一共分享了三方面的知識。
第一:我們對DevOps的狹義和廣義的理解;
第二:在實施DevOps過程中,需要從組織、技術、流程三個維度進行改進;
最後:我們討論了實施DevOps從持續釋出開始。
今
天就分享到這,謝謝大家!
相關文章
- 加速企業構建敏捷IT,博雲DevOps平臺最新發布敏捷dev
- LeaRun敏捷開發平臺加速企業數字化轉型敏捷
- 賦能企業敏捷開發的低程式碼平臺敏捷
- 敏捷開發框架的開發運用之企業資訊化建設敏捷框架
- 快速構建企業級應用的開發平臺
- 敏捷開發框架的開發運用之大資料平臺的構建敏捷框架大資料
- DevOps 與平臺工程:企業該如何選擇?dev
- 大模型的發展,正在加速企業構建AI中臺大模型AI
- 敏捷開發平臺賦能企業供應鏈數字化管理敏捷
- 一站式開發平臺 加速企業數字化發展
- 低程式碼開發平臺的敏捷之力敏捷
- 企業中臺建設新路徑——低程式碼平臺
- 提高企業開發效率的優質工具:快速開發平臺
- 銀彈谷:低程式碼開發平臺助力金融企業實現敏捷、 高效的創新敏捷
- 企業必讀:引進低程式碼開發平臺的5個建議!
- 總部資訊平臺與企業資訊平臺的設計協調探討
- 企業級統一資料平臺建設思路
- 平臺化軟體開發對企業的優勢
- 安全可控的企業級低程式碼開發平臺
- 中小企業需要統一的快速開發平臺嗎?
- 大家信夫平臺:推動城市信用建設提升企業發展
- 東方金科基於開源的開發平臺建設之路
- 企業資料平臺建設的基石:構建統一的資料存算能力
- 快速開發平臺對中小企業的發展有何助力
- 企業如何選擇開源的零程式碼開發平臺
- 各類WEB建設環境開發平臺的搭建
- Asp.Net快速開發平臺(敏捷開發框架ASP.NET敏捷框架
- 低程式碼開發平臺 助力教育行業資訊化建設行業
- 後疫情時代,中小企業需加速IT建設投入
- 企業網路安全建設與發展的歷史與前瞻薦
- 「產品經理全連線系列2」企業如何開展敏捷或DevOps的研發變革敏捷dev
- 低程式碼開發平臺對企業數字化的作用
- 低程式碼開發平臺對於企業IT架構的作用架構
- 快速開發平臺--企業資訊化的絕佳解決方案
- 企業如何構建內部開發者平臺?
- 低程式碼開發平臺,快速開發企業級系統
- BeX5企業快速開發平臺-前端快速開發框架前端框架
- 三一集團數字化轉型探祕:以DevOps平臺構建敏捷研發體系dev敏捷