最近一直想寫一篇關於「資料治理」和「度量相關」的話題,一直太忙,今天靜下心來寫點自己的體會
DevOps的興起源於企業有意彌合運維與開發之間的裂隙,但在實施過程中有部分企業簡單粗暴地將其理解為「讓開發人員去負責運維的工作」,甚至讓高階開發人員接管了運維角色,導致了開發漸漸不堪重負。
這一現實引出了DevOps停滯背後的核心矛盾:開發者不想跟基礎設施打交道,但企業在發展過程中又需要專人管控自己的基礎設施。在此背景下,平臺工程應運而生。
平臺工程定義為「設計和構建工具鏈和工作流的學科,為雲原生時代的軟體工程組織提供自助服務功能。平臺工程師提供的整合產品通常被稱為‘內部開發人員平臺(IDP)’,涵蓋了應用程式整個生命週期的運營需求。」
平臺和應用程式之間的界限在哪裡?
「如果你可以把服務拿給另一個產品團隊,甚至給另一個公司,他們可以馬上使用,那麼它就屬於平臺。」
本質依然是「新瓶裝舊酒」,是對「DevOps實踐」提供「相對可參考性」的學科體系,除了技術以外,提供瞭如何建設,運營平臺,以及建立企業內部開發者關係的新思路。
事實上,DevOps和平臺工程並非這種「你死我活」的關係,在某種程度上,平臺工程有可能為DevOps帶來新生。
「市面上任何一種工具,都不可能與平臺一樣能夠滿足企業的全部需求。企業必須花費充足的時間和精力,客製化符合自身需求的平臺。」 這是Gartner對於企業進行平臺工程建設的建議
市面上其實已經湧現了很多類似的平臺,比如阿里雲效,騰訊Coding之類的,對於中小型團隊,在沒有資源投入基礎設施建設的前提下,且對期望結果不是那麼高的情況下,這些平臺是合適的。
不過依然有「相當規模」(研發人員300人以上)的企業依然可能會選擇建設內部的」研發效能平臺「或者是」DevOps一體化平臺「,來解決個性化的問題。
企業建設平臺最終的目的就是收集到資料,對研發過程資料進行分析,也就是很火的一個名詞「效能度量」。
如下圖所示,由於研發效能度量涉及各個階段,來自不同的工具。
本文的目的不是談如何進行定義效能度量(PS:這又是另外一個很大的話題),而是聊聊資料怎麼收,如何正確合理的收集「有價值」的資料?
單純從工具層面,排除指標定義和計算外,收集資料本身只是個技術問題。不管是對接api,還是對接資料庫,BI工具很多。
可是單純的工具資料,本身很少帶「業務屬性」,這個其實對於企業最後的決策是沒有多大價值的。
如果把工具資料,再疊加如下圖左邊這些因素,才可能讓資料變的「有價值」,變得有「說服力」,不是嗎?
可是,左邊的問題,真的容易說清楚嗎?很多建設內部平臺的企業,左邊的問題一開始就是說不清楚的,如果能說清楚,就不會大費周折的搞這個事情了。似乎陷入了「雞生蛋,還是蛋生雞」的怪圈裡,無法自拔。
其實一開始,企業也在努力的建設設計流程,可是流程是需要經過「真實考驗的」,是不是業務流程是否真的能運轉落地,或者切實得到認同?
「沒關係,度量下看看?不是說,通過度量來改進嗎?「
好像猛地一看,很合理,度量就是為了改進,管理大師都說了沒有度量,就沒有改進。
可是改進什麼呢?哪裡有問題呢?為什麼要改進?
沒關係,有了資料,自然就知道了
看似合理,其實隱藏一個致命的邏輯缺陷, 度量需要成本的,收入產出比如何?
度量指標的設定,需要具有「牽引改進」的重大意義,如果一個指標不能做到「牽引」作用,那麼就是個「假」指標。
這裡給出幾點建議
度量的前提一定是「資料治理」和「流程執行」,前者是保證規範性,後者是保證有效性。
企業在一開始建設之初,一定是有些已經使用的系統,這些系統裡都會有資料,需要從總體上考慮未來系統的目標和願景。