華為軟體開發雲如何實現DevOps落地?

請問DevOps落地的難點在哪裡?最近剛剛了解國內的DevOps工具,看到華為的軟體開發雲,請問各位這款工具怎麼實現DevOps落地呢?


謝邀。

首先給大家梳理下什麼是DevOps。

DevOps可以把DevOps看作開發(軟體工程)、技術運營和質量保障(QA)三者的交集。

2009年DevOps這個新理念出現,是為了應對IT環境中普遍面臨的一些挑戰。

如圖所示,第一個隔閡,存在於商業需求和開發之間,敏捷的出現縮小了這個鴻溝。但是這給運營帶來了很多壓力。

所以這就誕生了第二個隔閡,存在於開發和運維之間,這就是DevOps理念要解決的問題。

DevOps的核心實踐理念統稱為CALMS:文化(Culture)、自動化(Automation)、精益(Lean)、度量(Measurement) 、共享(Share)。

DevOps的優勢很明顯,但是為什麼這些年來實際踐行的企業卻這麼少呢?

一、為什麼DevOps很好,但是80%的公司很難落地?

我覺得DevOps最大的難點,有以下幾方面。

1、文化和理念障礙

DevOps體現了傳統孤立團隊之間的合作和團隊精神,需要一個隊伍的專家朝著一個目標工作,就像是一個足球隊。

但開發和運維之間就是存在溝通和理解的鴻溝。開發要的是快速實現新功能,不斷滿足客戶的新需求,他們經常不考慮自己寫的代碼會對運營造成什麼影響,運維關心的是穩定壓倒一切,希望盡量避免修改功能,從而降低滿足非功能性需求的風險。

還有一些管你那也限制了DevOps的成功——InformationWeek的調查顯示:「只有45%採用DevOps的技術專業人士表示期望它能提升安全性;32%認為DevOps對安全性沒有任何影響;7%認為DevOps將導致IT運行可能更不安全。

這種文化的東西,中間隔著的三八線,不是說打破就能打破的。

2、流程和工具差異

各家公司的流程和工具都是有差異的,有的企業是主幹開發、分支release;有的企業是分支開發、分支release……

3、決策層

一線的IT人員認可了DevOps,但是到了決策層,DevOps的落地就更加艱難。

要改變從前傳統的開發方式,要付出大量的人力資源和資金,這對於老闆來說,是一個需要考慮很久的決定。

正如很多企業採用敏捷開發一樣,這需要一個準備,嘗試和逐步實施的過程。

所以對於團隊leader來說,想實施好DevOps,需要理清現狀,統一概念模型,制定階段性目標,激發團隊熱情,有效規避風險,循序漸進地將這個先進的理念落地。

二、華為軟體開發雲如何讓DevOps落地?

華為軟體開發雲是一款輕量級的DevOps工具。作為軟體開發雲的用戶,我有這麼幾點體會。

華為開發雲有項目管理、配置管理、代碼檢查、編譯構建、測試、部署、發布、流水線這幾大服務。

從技術層面來看,用了剛才說的這幾個服務,就能可視化地創建流水線,本流水線包含多個階段(stage);在每個階段創建多個不同類型的任務(task)。比如代碼檢查任務、編譯構建任務等。

在代碼提交後,流水線的相關任務可以實現最大程度地並發,在小時級別自動化實現版本級集成發布,得到版本質量報告,並快速反饋給開發人員,以便進行快速修復,在開發人員修復版本後並再次進行流水線的集成發布。

在緊急狀態下,還能實現版本的快速可靠回退。這樣一來,版本就能實現每日構建了,項目管理服務提供了敏捷式、社交化的項目管理方式,可與配置管理關聯,使得開發團隊有效協同,通過看板等各種圖表實時掌握項目進度和質量。

我在網上看到一個實際的案例,說是一個智慧城市和軟體開發雲合作後,產品版本的集成發布由原先的1天縮短為30分鐘,整個項目的交付周期縮短到3個月。

和其他家產品的比對,我會在以後的文章中和大家繼續分享。

有興趣的開發者可以關注下這個工具:軟體開發雲_開發雲_研發雲_開發者平台-華為企業雲服務


DevOps的核心理念是CAMLS,包括:Culture(文化)、Automation(自動化)、Lean(精益)、Measurement(度量)、Share(共享)。DevOps的落地,如果沒有工具平台的支撐,基本上就是空中樓閣。所以一個團隊是否踐行了DevOps研發模式,只要問問他使用的工具就可以知道了。用了一下華為軟體開發雲DevCloud,覺得是一個良好的開始。


推薦閱讀:

TAG:軟體開發 | 華為 | 雲計算平台 | DevOps |