《字節跳動-姜磊-系統化工程賦能萬人研發效能度量.pdf》由會員分享,可在線閱讀,更多相關《字節跳動-姜磊-系統化工程賦能萬人研發效能度量.pdf(35頁珍藏版)》請在三個皮匠報告上搜索。
1、字節跳動 DevMind:系統化工程賦能萬人研發效能提升系統化工程賦能萬人研發效能提升姜 磊 DevMind 平臺架構技術負責人個人簡介個人簡介姜磊姜磊字節跳動 DevMind平臺架構技術負責人20172019201920202020至今至今評論中臺評論中臺 (OLTP系統)APMAPM端監控端監控 (OLAP系統)DevMind DevMind(AdHoc&研發效能)目錄目錄#CONTENTS010203業務與挑戰效能度量建設中的生產力效能度量背后的算力體系Biz and Challenge Boosting Productivity While Building Measurement S
2、ystemComputing System Behind R&D Productivity Measurement 業務與挑戰業務與挑戰Biz and Challenge DevMindDevMind體系體系DevMindDevMind業務業務現狀現狀1萬萬+積累元指標數90%+一二級業務線深度使用率100+沉淀各級業務線最佳實踐50+最大指標模型因子數40萬萬+MPVDevMind現狀現狀萬人規模萬人規模的挑戰的挑戰運營運營數據數據產品產品工程工程構建業務團隊持續效能提升的氛圍個性化適配不同業務形態的提升方案調動被動團隊積極性滿足不同層級角色產品訴求數字可視化表達能力提升產品易用性尤其是初次
3、上手門檻全領域數倉建設數據變更、業務配置變更 分鐘級全局響應數據全局一致性和準確性特殊時間節點下高并發用戶訪問復雜模型指標對整體算力侵占2查詢SQL字符數超過1010萬萬BIZCHALLENGE轉動效能提升的轉動效能提升的飛輪飛輪業務執行改進產出高質量洞察研發效能提升旺盛分析需求吸引更多領域專家完備數據源豐富表達能力迭代分析算法效能度量效能度量建設建設中的生產力中的生產力Boosting Productivity While Building Measurement System激發激發生產力生產力1重塑數據生命周期生產關系,讓飛輪自發轉動遇到的問題遇到的問題效能專家和效能專家和數據分析師數據
4、分析師廣泛的業務用戶廣泛的業務用戶業務定制化數據源、指標設計的邊際成本高每個專項的精細化分析占據大量精力有限人力需要承接近乎無限業務需求深刻理解自身業務,但是不清楚如何著手分析。找不到適合自己的指標分析體系。因缺乏統計學培訓,難于上手傳統BI平臺。原因原因探尋探尋直接原因:直接原因:數據分析的專業化門檻,導致數據工程師和分析師供給不足,而未受專業培訓的業務同學卻有心無力。本質原因:本質原因:數據產品專業性的僭妄,沒有真正用同理心去感受普通用戶的需求場景。工程工程數據工程師數據工程師數據源ETL數倉分層建設模型指標建設報告ADS表生產撰寫報告即席分析數據分析師數據分析師業務業務易用性易用性專業性
5、專業性近乎空白亦或充斥著語音交互等偽需求BI,本質是用可視化交互形式組裝SQLMatlab、SQL、Python公民數據科學家公民數據科學家(Citizen Data Scientist),是指未受過高級數學和統計學正式培訓的知識工作者,他們能夠通過適配的應用產品從數據中提取高價值見解。專業化分工:亞拉文眼科醫院專業化分工:亞拉文眼科醫院2 25050臺臺 2 2600600臺臺一年完成手術在中國白內障手術只是一種非常普通的小手術在印度白內障手術費用遠非底層窮人可以承受。學習麥當勞的模式印度亞拉文眼科醫院流水線分工流水線分工提高整個流程效率提高整個流程效率主治醫師重塑數據分析鏈路重塑數據分析鏈
6、路中的生產關系中的生產關系工程工程數據工程師數據工程師數據源ETL數倉DW層建設領域專家領域專家自助式數據準備元指標設計復合元指標設計交互式探查分享與協作工程工程數數據工程師據工程師數據源ETL數倉分層建設模型指標建設報告ADS表生產撰寫報告即席分析數據分析師數據分析師業務業務公民數據科學家公民數據科學家業務業務生產關系背后生產資料:元指標模型生產關系背后生產資料:元指標模型核心思路:核心思路:以“元指標元指標+度量對象度量對象”二元形式對基礎數據層進行高度封裝,使其擁有完備業務含義且可獨立執行。元指標模型:元指標模型:從物質世界到數學的轉換。將數據可視化配置中分解為設計業務查詢邏輯和配置可視
7、化表達。復合元指標模型:復合元指標模型:帶有豐富業務含義的代數矩陣。輔以算術運算符和邏輯運算符進而獲得更高層次的業務表達。業務評分指標排名綜合評價系統SQL 類元指標Graph 類元指標OpenAPI 類元指標SQLSQLMetricData ModelFilterFilterGraphEdgeNodeOpenAPI Dimension Dimension Structed Third-Party OpenAPI復合元指標復合元指標模型模型元指標元指標模型模型基礎數據基礎數據層模型層模型Database ModelCaliber效能度量效能度量建設建設中的生產力中的生產力Boosting Pr
8、oductivity While Building Measurement System提升生產力提升生產力2豐富自動洞察算法工具庫,優化用戶分析效率2.Why 2.Why 指對現狀(如異常波動)進行診斷定位,直接給出具體原因診斷型分析3.How3.How指在理解客觀現狀、定位問題原因之后給出解決方案建議型分析算法基于歷史數據假定引入某個主動型變化后,對業務可能產生的定量影響4.What 4.What If If推演型分析自動洞察層次自動洞察層次Automatic Insight Level1.What1.What描述型分析用于客觀描述和評價指標現狀Why not MLWhy not MLIN
9、TERPRETABILITYSTABILITYAUTHORITYSMALLSAMPLE AFFINITY可解釋性可解釋性權威性權威性穩定性穩定性小樣本親和小樣本親和WhyWhy:波動分析(比率指標)波動分析(比率指標)比率指標難點:比率指標難點:數學層面,比率指標具有不可加性,無法直接進行維度分解,因此無法套用貢獻度等經典分析方法。業務層面,比率指標的分子分母的維度并不嚴格對應,需要考慮至少三種場景,這也增加了分析復雜性。公式:Div=UPDOWN=1M=1?=1=1?,=1?,?=1?=1?WhyWhy:波動分析(比率指標)波動分析(比率指標)算法思路:算法思路:1.將指標變換到向量代數的空
10、間表達;2.基于一階或高階維度項的基尼系數找到波動最大的維度;3.通過貢獻率再定位對大盤造成最大影響的維度項。?=12(?1)(+)=1=1?=?1,?1,?=第一步空間轉換:第二步基尼系數:第三步貢獻率:HowHow:潛力分析潛力分析需求需求背景:背景:基于波動分析可以有效定位造成異常波動的根因維度項,但有時這并非就是業務業務可以直接采納的優化方向。因此需要有更好的算法,告訴業務方哪個方向有最大的優化潛力。核心核心思路:思路:1.均值回歸:假設維度分項數值都將圍繞維度均值波動,波動趨近于均值的概率要高于背離均值的概率。2.高占比項優先:指定維度的各維度項變化同一固定比率,則高占比維度項對大盤
11、的影響更大。3.維度稀疏度:基于稀疏度處理防止擁有較少維度分項的維度對大盤干擾,從而解決維度項數目對大盤。公式:維度分項潛力值=維度分項貢獻度 均值回歸系數 維度稀疏度效能度量效能度量背后的算力背后的算力體系體系Computing System Behind R&D Productivity Measurement 為何為何要做算力評估?要做算力評估?應用場景:應用場景:穩定性運維:穩定性運維:基于全場景算力消耗監控,指導日常運維工作。并為運營活動等場景的資源申請提供數據支撐。新需求準入評審:新需求準入評審:計算方法:計算方法:算力成本=功能點單次訪問算力成本 功能點用戶滲透率 業務約束:業務
12、約束:平臺總算力 存量算力開銷+新需求算力成本 技改收益定量評估:技改收益定量評估:構建平臺算力基準水位,為此后技術性能優化后的定量收益提供公允的依據。評估目標:評估目標:打破 黑盒黑盒 !通過構建綜合全面的算力評估體系,實現對平臺整體現狀進行準確的定量刻畫定量刻畫。算力評估分類算力評估分類算力總量評估算力總量評估算力消耗評估算力消耗評估算力利用率評估算力利用率評估核心計算單元(ie.數據庫)在最佳負載狀態下可完成的最大查詢/計算規模針對平臺整體,或基于功能模塊,亦或基于業務空間,其發起請求所產生的算力消耗情況應用層視角應用層視角,應用層發起查詢請求數和持久存儲實際執行查詢請求數之比。計算層視
13、角計算層視角,在724小時的運行周期中,核心計算單元位于最佳負載狀態的執行時間。奧卡姆剃刀分析法奧卡姆剃刀分析法完備場景完備場景場景場景拆解拆解根場景根場景完整的產品功能集,真實的用戶訪問情況訪問波動、功能滲透率、數據規模、緩存命中率、架構規模、空間層次、時間范圍、聚合粒度 全產品僅一個頁面,該頁面僅產生一種固定查詢算力評估體系算力評估體系消費端消費端生產端生產端用戶DevMind場景(PV、功能滲透率、指標復雜度)PageQuery(基于埋點和數學建模)數據庫物理特性(CPU、Mem、I/O)TPM(基于標準壓測)算力換算算力換算 算力換算算力換算何為算力何為算力基準基準查詢查詢對于數據產品
14、,算力是其完成業務目標所需要的物理成本開銷。通過基準查詢作為生產端和消費端鏈接的媒介和基本單位,將“算力”這一抽象概念實體化。選用產品形態中最通用且易于泛化的Case,既可以在各業務場景中等價換算,也可由計算單元壓測獲得。算力算力換算換算算力消費算力消費端端 消費消費端建模思路:端建模思路:模型分析對象是用戶在指定時間窗口內對產品功能使用過程中產生的查詢請求。用戶側,需要考慮不同類型用戶的規模,以及訪問頻率和訪問深度。產品側,則考慮的是產品各個功能點對于算力消耗情況,以及產品不同用戶空間的深度與規模。消費端消費端用戶DevMind場景(場景PV、功能滲透、指標復雜度)PageQuery(源于埋
15、點和數學建模)Q=?=?(,)=?(1?)?算力生產算力生產端端生產端生產端數據庫特性(CPU、Memory、I/O)TPM(基于標準壓測)算力總量定義:算力總量定義:算力總量由服務架構計算層自身的物理特性和工程實現共同決定。算力總量的策略標準借鑒數據庫TPM(transactions per minute)的概念,采用:1分鐘最大可執行基準查詢數。物理特性:CPU、I/O、Memory、磁盤容量、機房 etc;工程特性:數據庫類型及版本,索引選擇、優化器實現、算法調優etc;算力優化算力優化思路思路 基于基于MECEMECE原則的算力優化分析:原則的算力優化分析:算力增加:查詢引擎替換:OL
16、AP HSAP 查詢模式升級:自建SQL優化器算力利用率提升:應用層利用率:精細化緩存、查詢請求消重 計算層利用率:基于時分復用前后臺任務切換算力分配優化:數據生產階段:預處理&預計算 數據消費階段:集群間動態調度 數據鏈路:離在線一體存算體系MECEMECE原則:原則:Mutually Exclusive Collectively Exhaustive。彼此獨立,完全窮盡,不重合,不遺漏。TipsTips當產品峰值請求超過超過平臺最大算力,峰值持續時間1 1s s、1min1min、1hour1hour,如何進行平臺算力優化?思想實驗思想實驗彈性化彈性化即席查詢架構即席查詢架構自適應自適應環
17、路環路用戶流量API分布式隊列動態限流器storage背壓背壓(BackPressure)(BackPressure):通過負載探針檢測消費者負載壓力。當負載超過閾值后,將壓力反向通知上游,使上游的生產者及管道可基于背壓感知執行相應策略,從而實現自適應調節流量的目標。動態限流器:動態限流器:通過背壓感知動態調節限流總量。觸發限流時,基于在線配置按優先級放行請求。分布式隊列:分布式隊列:通過同步調用異步化,即可實現削峰,也可對隊列窗口內請求執行精細化控制。One more thing One more thing 機密計算機密計算Q:研發效能度量過程中不可避免的涉及大量敏感數據,如何保證分析過程
18、安全合規?A:依托字節跳動安全與風控團隊在機密計算機密計算深厚積累,保障高敏數據可用而不可見全過程數據始終在密文狀態下存儲、傳輸、計算在保證數據存儲安全前提下獲得近實時查詢能力。同時通過安全沙箱對運算執行環境進行保護基于加密技術+區塊鏈技術,將涉及高敏數據的操作全部上鏈,進而真正實現可監控、可追溯、可審計同態同態加密加密聯合聯合查詢查詢鏈上鏈上審計審計事前事前事中事中事后事后DevMind高敏數據擁有者DevMind數據SQL任務請求高敏數據源業務數據SQL結果數據沙箱返回任務信息方便后續查詢和審計計算層(Encalve)HTTPs接口語法解析過濾器任務隊列SQL任務執行任務結果拉取業務數據拉
19、取高敏數據源Token配置Node 1Node 2Node 3Node N存證OpenAPI查證區塊鏈節點Welcome to Join UsWelcome to Join UsBytedance DevMind 數字化解決方案了解更多技術實踐案例了解更多技術實踐案例麥思博(msup)有限公司是一家面向技術型企業的培訓咨詢機構,攜手2000余位中外客座導師,服務于技術團隊的能力提升、軟件工程效能和產品創新迭代,超過3000余家企業續約學習,是科技領域占有率第1的客座導師品牌,msup以整合全球領先經驗實踐為己任,為中國產業快速發展提供智庫。高可用架構主要關注互聯網架構及高可用、可擴展及高性能領域的知識傳播。訂閱用戶覆蓋主流互聯網及軟件領域系統架構技術從業人員。高可用架構系列社群是一個社區組織,其精神是“分享+交流”,提倡社區的人人參與,同時從社區獲得高質量的內容。