《3-劉昊-SRE效能體系建設的實踐與反思.pdf》由會員分享,可在線閱讀,更多相關《3-劉昊-SRE效能體系建設的實踐與反思.pdf(49頁珍藏版)》請在三個皮匠報告上搜索。
1、SRESRE效能體系建設的實踐與反思效能體系建設的實踐與反思2023 深圳站劉昊劉昊2017年加入B站,先后負責運營研發、中間件和SRE體系等團隊,構建落地B站統一作業&流程&鑒權服務,主導數據庫&緩存相關中間件的自研落地目前專注于SRE體系化、產品化的規劃建設和落地實踐技術領域:SRE、中間件、運維、運維研發、云原生、平臺工程社區:中國SRE聯盟社區華東區負責人、中關村人才協會-SRE專委會委員、TAKINTALKS專家團成員嗶哩嗶哩 SRE體系負責人2023 深圳站目錄目錄CONTENTSSRE效能的外患與內憂1 從瑣事消減看SRE效能體系設計2 基于OnCall的協同化提效3 基于流程&
2、作業的自助化提效4 總結與反思5 2023 深圳站S R ES R E 效 能 的 外 患效 能 的 外 患行 業 寒 冬行 業 寒 冬谷 歌 之 道谷 歌 之 道異 軍 突 起異 軍 突 起2022年以來,多重利空因素下經濟下行壓力大,國內B端和C端的需求疲軟,這對互聯網行業來說更是雪上加霜,因而2022年1-8月國內互聯網業務規模同比出現負值,行業增長陷入停滯。企業持續控制人力成本,在技術團隊側,SRE與研發的對比數越拉越大。Google SRE運維之道書籍指出,SRE團隊中50%-60%是標準的軟件工程師,其他40-50%是基本滿足軟件工程師標準的人。Google為整個SRE團隊所做的所
3、有傳統運維工作設定了50%的上限值,必須將50%的精力花在真實的開發工作上。受到DevOps成功推動跨職能合作的啟發,平臺工程也開始在企業中作為明確的協作形式而涌現。平臺所提供的基礎能力、框架和經驗,提供便利并加速著內部用戶的工作。特別是在云計算方面,“平臺”已經幫助企業實現了云計算長期承諾的價值:如快速產品發布、更安全更彈性的產品,以及更高的開發者生產力。2023 深圳站S R ES R E 效 能 的 內 憂效 能 的 內 憂持 續 增 多 的 瑣 事持 續 增 多 的 瑣 事企業的經營多樣化和業務多向探索,致使業務線的種類繁多。各業務特性差異大、場景眾多,數量龐大,靠人力難以收斂常態化的
4、瑣事需求。在單一業務下,隨著云原生、微服務的推行,業務應用的扇入扇出帶來了服務數量規模和接口調用范圍的大爆炸,進一步提升了SRE的運營復雜度和成本。難 以 對 標 的難 以 對 標 的 能 力能 力在國內SRE實踐中,80%的SRE團隊均由企業現存的運維團隊轉型而來。SRE成員在研發側的能力積淀有限,難以完成大型自動化和穩定性項目的設計和研發工作。相比業務團隊的多職能、明細化分工,運維、SRE團隊本質也是獨立業務領域,缺少專業的產品、運維、測試等職能成員。從手工-平臺-產品,跨度太大,兼顧不下,單純運維/SRE團隊難以支撐專業業務領域的平臺化建設要求。2023 深圳站目錄目錄CONTENTS1
5、 2 3 4 5 SRE效能的外患與內憂從瑣事消減看SRE效能體系設計基于OnCall的協同化提效基于流程&作業的自助化提效總結與反思2023 深圳站瑣事的定義瑣事的定義:運維服務中手動型的,重復性的,可以被自動化的,戰術性,沒有持久價值的工作,并且瑣事與服務量級成線性關系的增長特征特征 :低風險低壓力手動性:運行腳本清理日志重復性的:清理/tmp文件夾可以被自動化:按照SOP手動操作戰術性的:大量常態的基礎性告警沒有持久價值:數據遷移與服務同步線性增長:故障磁盤報修對于任何管理生產服務的團隊來說,瑣事似乎是不可避免的。對于任何管理生產服務的團隊來說,瑣事似乎是不可避免的?,?事瑣 事 的 定
6、 義的 定 義2023 深圳站瑣 事 的 利 弊瑣 事 的 利 弊價值價值 低風險低壓力 當量不大時,已知的和重復的工作可以帶來滿足和快速勝利感,讓人平靜 持續開荒有風險,瑣事可以保平安,沒功勞也有苦勞危害危害 個人個人 職業停滯:瑣事難以帶來思考和反思總結,沒有時間學習新知識 士氣低落:過多的瑣事會過度勞累、厭倦和不滿 進展緩慢:忙于人工、救火,新產出會變慢 錯誤變多:人工處理導致更多小錯誤 違反承諾:新入職員工或新轉入SRE感覺被欺騙 組織組織 降低團隊ROI:人人瑣事纏身,難有精力聚焦有價值結果,難以提升團隊業績產出 造成誤解:導致崗位格調不高,破壞工程組織定位 開創先例:角色分工是平衡
7、的,導致承擔過多研發團隊的運維工作 促進摩擦產生:團隊瑣事占比過重,優秀同學會尋求更有價值出路2023 深圳站減 少 瑣 事 的減 少 瑣 事 的 方 法方 法識別和度量識別和度量分類分類業務流程生產中斷產品發布遷移(升級/搬遷/故障)記錄記錄手動記錄自動記錄度量度量基于瑣事類別、數量和人員建立瑣事負載圖治理消減治理消減協同化減少人人溝通成本自助化半自動/全自動增強產品體驗項目化仍然存在的瑣事-項目制明確項目目標和項目結果2023 深圳站傳 統傳 統 S R ES R E 效 能 提 升 實 踐效 能 提 升 實 踐 分 析分 析平臺數量急劇平臺數量急劇增多增多維護成本維護成本增高增高在線SR
8、E離線SRE游戲SRE基礎設施SRE游戲運維平臺大數據運維平臺MySQL運維平臺Redis運維平臺業務風險巡檢平臺SLO平臺自愈平臺容量管理平臺切流管控平臺各各SRESRE團隊團隊精力花在非關鍵精力花在非關鍵地方地方效能隱患效能隱患需求交付需求交付慢慢交付交付質量差質量差應急響應平臺值班系統混沌工程平臺化效能實踐平臺化效能實踐2023 深圳站S R ES R E 效 能 體 系效 能 體 系 設 計 思 路設 計 思 路減少協同成本,人人/人機/機機系統級復用,減輕開發難度,增加迭代效率,提升穩定性團隊職責邊界清晰,更專業、更穩定CI/CD預案平臺大數據運維平臺數據庫運維平臺場景場景能力能力O
9、nCall流程引擎作業引擎權限中心通道通道能力能力加 強 細 分加 強 細 分場 景 覆 蓋場 景 覆 蓋溝通成本用戶自助化能力運維自動化量化瑣事產品體驗原始痛點實踐隱患運維平臺越寫越多小場景背后大挑戰難以系統級別復用難以持續迭代下去交付效率慢質量低新思路扎 實 通 道扎 實 通 道能 力 建 設能 力 建 設2023 深圳站S R ES R E 效 能 體 系效 能 體 系門戶通道能力基礎平臺基礎設施基礎數據物理機虛擬機云主機裸金屬交換機CMDB服務樹模型注冊拓撲關系資源上報狀態管理消費注冊標簽管理租戶信息備機池組織架構業務架構應用模型應用畫像資源關系權限管理人員角色應用生命周期計算引擎K8
10、S底座堡壘機cloud統一私有云門戶登錄準入命令執行黑白名單審計攔截作業引擎作業原子作業編排調度執行文件分發流程引擎流程設計表單管理事件回調規則引擎IAM權限模型平臺注冊資源權限角色管理OnCall值班錄入人員管理知識庫實時反饋場景能力DB運維平臺集群部署SQL執行慢日志分庫分表游戲運維平臺區服管理合服管理新服部署人員管理容量管理平臺HPAVPA容量巡檢策略預估系統運維平臺系統重裝報修管理重啟資產轉移LogAgent管控平臺版本升級健康檢查吞吐監測區域管理2023 深圳站目錄目錄CONTENTS1 2 3 4 5 SRE效能的外患與內憂從瑣事消減看SRE效能體系基于OnCall的協同化提效基于
11、流程&作業的自助化提效總結與反思2023 深圳站O n C a l lO n C a l l 定 義定 義定義:企業為了快速響應生產故障或者重大事件,在某段時間內指定某個人或者某組人隨時待命(類似于值班),一旦企業出現生產故障或者重大事件,會第一時間通過郵件、短信、電話等手段通知到這組人,而這組人無論是否在工作時間,都必須停下手里的一切事情,立即處理故障或響應重大事件。本質:一種響應故障的方法論發展:歐美國家:2000年左右開始流行 國內:興起于大型科技互聯網公司,越來越多的公司實行得以發展的前提:大量企業的生產系統和IT系統越來越緊密的耦合在了一起,企業隨之提出了要求生產系統和IT系統必須保
12、持7*24的連續高可用性2023 深圳站國 內國 內 O n C a l lO n C a l l 現 狀現 狀特征特征運維運維/SRE/SRE各類各類崗位崗位執行執行情況情況磁盤空閑率低于10%/緩存集群內使用率高于70%/業務某場景SLO下降5%日常權限/發布/變更審批中間件研發中間件研發xx job數據流消費延遲消息隊列Topic的local、global是什么意思?應該選哪個?某某海外區域發布速度太慢、發布失敗業務研發業務研發SQL慢日志告警/某短信渠道可用率低于99.5%部分公司僅有oncall制度建設,并未對OnCall進行強制效果考核OnCall延展范圍大,除應急情況之外,延展到
13、日常各類瑣碎事情平臺化建設和管理的情況很少應急響應日常報警日常工單客服咨詢2023 深圳站日常反饋只找認識的人新同學不知道找誰流程工單到處發告警信息泛濫總找一個人,總找不到人平臺找不到對的人歸納存 在 的 問 題存 在 的 問 題2023 深圳站O n C a l lO n C a l l 結 構 性 分 析結 構 性 分 析誰?誰?人(平臺方/業務方)系統(平臺/工具)什么事?什么事?資訊類(使用問詢/疑問解答)執行類(應急響應/工單執行)W H OW H OW H A TW H A TW H E NW H E NW H E R EW H E R EH O WH O W何地?何地?什么平臺中
14、什么場景下何時?何時?什么時間怎么操作?怎么操作?使用方式(如何用的某功能)現場情況(問題/故障現場)W H YW H Y為什么?為什么?為什么穿透到oncall?2023 深圳站O n C a l lO n C a l l 系 統系 統 關 鍵 模 型 抽 象關 鍵 模 型 抽 象明確核心概念明確核心概念 人、團隊、職責、業務建立模型建立模型三維合一三維合一業務-服務職責-能力團隊-人職責職責&業務雙視角業務雙視角組織-職責-覆蓋范圍組織-業務-職責小隊-1小隊-1小隊-1小隊-2小隊-3小隊-4小隊-5小隊-2小隊-3小隊-2小隊-3研發SRE基礎設施職責主站直播電商業務-服務團隊-人值班
15、表組織架構職責業務應用組織架構組織架構業務職責基架視角業務視角范圍與業務數的模型保持一致這里范圍的三層抽象是為了解決公司職能幾乎都是1、2個人值班的問題2023 深圳站O n C a l lO n C a l l 最 佳 實 踐最 佳 實 踐定位:定位:實現人員、業務和職責的關系關聯,提供便捷和精準的人員排班、響應、記錄和負載管理。目標:目標:清晰職責,合理排班,方便找人消費消費場景場景用戶系統/平臺企微入口監控系統流程工單事件運營風險預警業務預警WEB移動H5平臺入口側邊懸浮IFrame各平臺入口Json模塊模塊劃分劃分排班場景節假日排班即時反饋知識庫分派/升級策略管理值班表管理人員團隊管理
16、職責管理支撐支撐數據數據組織架構業務/服務架構CMDB服務樹OA統一輸出統一輸出2023 深圳站覆 蓋 場 景覆 蓋 場 景 1 1 排 班 管 理排 班 管 理關聯組織-業務-職責基于日歷的排班主/備角色靈活的排靈活的排班功能班功能排班班組排班班組管理管理基于時段的自動排班計劃生成多班組混合排班支持排班覆蓋插入、換班多種通知方式虛擬號碼對接周邊對接周邊生態系統生態系統靈活的通知靈活的通知功能功能告警、流程系統介入企微服務號H5嵌入場景平臺的頁面嵌入2023 深圳站覆 蓋 場 景覆 蓋 場 景 2 2 O n C a l lO n C a l l 知 識 庫知 識 庫通過集成在通過集成在OnC
17、allOnCall的入口,實現企業內部知識信息的強消費能力,減少用戶的問詢的入口,實現企業內部知識信息的強消費能力,減少用戶的問詢提供圍繞企微服務號的知識庫管理自助錄入OnCall問題和分類,支持對問題進行打標和全文檢索用戶在查看排班和咨詢時,自助解決日常疑問,減少答疑量2023 深圳站覆 蓋 場 景覆 蓋 場 景 1 1 實 時 反 饋實 時 反 饋為業務提供實時錄屏和上下文記錄的問題反饋工具,讓平臺方進行問題回溯時更輕松定位問題為業務提供實時錄屏和上下文記錄的問題反饋工具,讓平臺方進行問題回溯時更輕松定位問題管理端可實時編輯題目、關聯oncallSDK支持錄屏反饋,支持記錄用戶networ
18、k、來源地址,公司內域名會記錄反饋人的相關信息用戶錄屏同時會攔截log,監聽報錯信息,API請求記錄前端引入一個SDK,即可接入實現功能強大的反饋能力2023 深圳站目錄目錄CONTENTS1 2 3 4 5 SRE效能的外患與內憂從瑣事消減看SRE效能體系設計基于OnCall的協同化提效基于流程&作業的自助化提效總結與反思2023 深圳站業務可以自行靈活設計和調整線上業務流程業務和研發基于流程模型進行溝通,基于業務建??焖俨渴鹆鞒炭梢暬?,方便查看流程的運行進展低 代 碼 工 作 流 的低 代 碼 工 作 流 的 價 值價 值運維類運維類數據庫資源申請SLB配置變更CDN證書申請域名解析申請機
19、器關機申請大數據類大數據類數據權限申請資產移交申請HBase變更申請離線任務編排業務類業務類推送審批運營彈窗申請Banner設置審批虛擬獎勵發放基礎架構類基礎架構類出差申請加班申請請假申請辦公用品申請OAOA類類儲存服務申請消息隊列Topic申請容器發布申請Binlog訂閱申請對業務對業務需求快速交付,提高效率,減少等待規范行為,落實制度協同內外,快速響應監控全面,提升執行推動了企業的數字化轉型對組織對組織2023 深圳站C o m e tC o m e t 低 代 碼 工 作 流低 代 碼 工 作 流 系 統系 統CometComet是是B B站以業務為中心、流程為導向構建的新一代低代碼工作
20、流站以業務為中心、流程為導向構建的新一代低代碼工作流系統。系統。具備傳統 BPM 產品所必須的流程服務能力滿足各種規模應用、業務系統的業務流程需求具備流程服務化所需要的動態伸縮、多租戶等特性一個豐富全面的標準化流程服務平臺。2023 深圳站低 代 碼 工 作 流低 代 碼 工 作 流 的 功 能的 功 能在通用的場景下,低代碼在通用的場景下,低代碼工作流往往需要具備以下基礎功能:工作流往往需要具備以下基礎功能:基礎能力基礎能力流程配置:具備驅動流程各個節點基于一定規則流轉的能力流轉:提供節點同意、拒絕等動作或簽/并簽:根據節點和分支屬性決定下游節點是否激活加簽/轉簽:提供基礎的審批功能、權限轉
21、移高級特性高級特性動態流程配置:以可視化拖拽/DSL的方式來定義流程流轉圖動態表單配置:支持拖拽或HTML編輯的表單流轉規則配置:提供靈活的規則定義和可視化能力流程延展性:以插件/HTTP/事件的形式提供流程動作通知移動化辦公:移動端/H5/小程序2023 深圳站低 代 碼 工 作 流低 代 碼 工 作 流 關 鍵 技 術 總 覽關 鍵 技 術 總 覽三方平臺name:申請創建ACLop_type:非標|標準op_user:xxxop_datetime:2022.10.01起始節點人工執行節點自動執行節點用戶確認結束節點節點編排可視化DSL流轉規則可視化DSL 規則自動化執行接口回調事件信息二
22、進制插件執行流程上下文基礎環境ENV流程特性ENVop_type=標準op_type=非標準輸入輸入2023 深圳站技 術 要 點技 術 要 點流轉規則流轉規則構成了業務流的復雜性設計,規則引擎提供了流程的流轉自動度。構成了業務流的復雜性設計,規則引擎提供了流程的流轉自動度。實現邏輯實現邏輯領域特定語言(DSL)作為邏輯計算方式來判斷節點是否滿足激活條件,從而達到特定的流轉效果函數中的if判斷條件,也是為什么節點編排屬于函數式編排的原因。功能特性功能特性可視化低代碼能力+DSL專業化流程描述,降低用戶設計接入成本基于流程全局級+流程節點級上下文,驅動流程流轉判斷節點編排,提供了將企業業務流程轉
23、化為數字化的核心關鍵。節點編排,提供了將企業業務流程轉化為數字化的核心關鍵。功能特性功能特性DAG+鄰接矩陣,實現流程全場景自由度可視化低代碼能力+DSL專業化流程描述,降低用戶設計接入成本流程上下文,為流程流轉提供業務級的元數據支撐提供在線數據MOCK,預先調試和驗證流程流轉情況全量的OpenAPI開放度:設計/運行/管理2023 深圳站技 術技 術 要 點要 點為支撐個別小業務場景,提供更服務的流程能力(類似為支撐個別小業務場景,提供更服務的流程能力(類似airflowairflow),引入了插),引入了插件執行。件執行。提供更豐富的自動化執行能力支持三種類型插件:二進制文件、Python
24、腳本、shell腳本由于Python腳本相比于二進制文件可維護性更好,所以插件主要采用此種形式來書寫用戶通過平臺上傳插件文件,在流程編排節點上可以選擇關聯插件業務方系統HTTP推送流程引擎轉化消費推送狀態調用MQ基于基于MQMQ實現了一套事件回調體系,對外暴露流程的各類變化情況,實現了一套事件回調體系,對外暴露流程的各類變化情況,如:流轉、拒絕、狀態變化等。如:流轉、拒絕、狀態變化等。事件投遞接口回調插 件插 件事 件事 件 回 調回 調2023 深圳站業 務 場 景業 務 場 景 覆 蓋覆 蓋大數據場景業務場景SRE場景行政場景Hive表權限申請離線任務編排節點擴容卡片推送影視版權申請大會員
25、發放休假OnCall調班轉崗權限移交集群申請多活切流變更封控2023 深圳站基 于 流 程 的 效 能基 于 流 程 的 效 能 提 升提 升特征特征流程復雜度極高,涉及到各類審批規則判斷業務希望其業務相關流程對用戶具備獨立性(獨立門戶/推送/H5)需要聯動三方平臺實現自動化對流程流轉有時效考核目標場景場景各類表、任務、數據管道、報表的權限申請/變更各類任務的新增、變更、巡檢使用功能使用功能流程編排、動態表單、規則引擎、流程插件、自定義通知、自定義流程列表流程度量、流程運營、Saas化能力、移動端H5收益收益減少了業務團隊最少1個人的研發人力產品團隊直接通過平臺滿足整個大數據平臺的自服務化和審
26、批特征特征流程具備一定復雜性,涉及到針對申請內容和情況的動態流轉需要聯動三方平臺實現自動化場景場景新緩存集群申請緩存HPA/VPA的擴/縮容申請緩存遷移、下線、數據清理使用功能使用功能流程編排、動態表單、規則引擎流程插件移動端H5收益收益在緩存平臺上線過程中,極大減少了在面向用戶服務和運維工作的模塊功能開發成本借助移動化審批能力,解決了移動化運維的問題緩緩存存資資源源變變更更申申請請數數據據平平臺臺表表權權限限申申請請2023 深圳站低 代 碼 作 業 編 排低 代 碼 作 業 編 排 系 統系 統主要對象主要對象命令:一個可以獨立操作,如:關機,重啟等文件分發/下載:將指定的文件分發到目標機
27、路徑;將目標機路徑的文件下載到本地作業編排:一系列命令、文件分發/下載的有序組合,包含執行對象、執行路徑定時作業:定時執行的作業作業平作業平臺臺命令文件分發作業定義定時作業腳本命令名稱協議頭源路徑目標機器目標路徑名稱執行用戶類型命令列表命令.文件分發.執行對象選擇已定義作業調度類型調度時間黑屏命令式到白屏黑屏命令式到白屏場景式自動化場景式自動化依靠開源工具(ansible,saltstack),對命令進行操作,無web管理界面,無精細化權限管控場景固化不靈活場景固化不靈活SRE有固化的運維操作場景,新增場景支持需要二次開發缺乏鏈路打通缺乏鏈路打通自動化執行的主機對象和CMDB無法打通定時任務泛
28、濫定時任務泛濫依靠Linux的crontab分散在各自主機上,無法統一管理痛點痛點/局限局限方案方案2023 深圳站作 業 平 臺 建 設作 業 平 臺 建 設-功 能 架 構功 能 架 構標準REST API接口接口Swagger文檔API Gateway集成統一鑒權功能功能列表列表管控調度執行器執行器自研執行引擎對接ansible自定義管控插件支持支持系統系統對接saltStack內置工具市場定時作業快速分發文件快速腳本執行內置應用市場圖形化編排編排分類管理實時/定時編排流程狀態自動檢查狀態執行狀態自定義內置常用狀態應用故障自愈監控告警集成自定義事件觸發Agent事件采集作業執行作業執行作
29、業編排作業編排聲明式管理聲明式管理事件驅動事件驅動BiliOSDebianRedhatCentOS。2023 深圳站作 業 平 臺 建 設作 業 平 臺 建 設-與與 C M D BC M D B 和 流 程 引 擎 的 結 合和 流 程 引 擎 的 結 合統一平臺入口權限管理流程管理CMDB接口通用APIPaaS層資源(數據庫DB,Web服務器,中間件.)laaS層資源(私有云,公有云,混合云,物理云,虛擬機,OpenStack.)平臺功能自定義巡檢作業常用工具集應用巡檢組件巡檢系統巡檢主機巡檢自定義運維網絡運維系統運維應用運維存儲運維.中間件安全管理DNS自動化運維補丁更新Linux安全管
30、理構建庫包管理版本管理應用自動化發布中間件自動發布資源自動化交付數據庫配置管理應用配置管理中間件配件管理集群配置管理主機配置管理典型場景能力典型場景能力角色運維能力角色運維能力日常運維場景日常運維場景交付自動化能力交付自動化能力資源管理能力資源管理能力高擴展能力賦能高擴展能力賦能便利二次編排開發能力,滿足企業一切運維場景邏輯資源管理邏輯資源管理任務調度中心任務調度中心作業工具作業工具人員管理代理商角色管理服務商定時任務調度流程pythonansibleSQLshellhttp api二進制2023 深圳站作 業 編 排 概 述作 業 編 排 概 述作業編排和執行作業編排和執行用戶在前端定義編排
31、流,并將編排后的模板提交至后端后端存儲基于該工作流模板,用于重復執行,并發起一個流程到流程平臺流程平臺驅動該流程執行,并回調作業平臺需要執行的作業信息作業平臺根據收到的回調事件,選擇推送到 Agent 執行作業Agent 執行完成之后,上報狀態和結果到作業平臺作業平臺根據執行結果,回調流程平臺流程平臺根據作業平臺的上報信息,驅動流程流轉到下一階段作業原子執行作業原子執行作業平臺確定要執行的作業原子的基本屬性作業平臺通過 GRPC 推送一個作業執行消息到目標機 AgentAgent 接收該消息,并調度執行該作業Agent 上作業狀態發生變更時,通過 GRPC 推送狀態變更消息到作業平臺作業執行完
32、成,作業平臺流轉作業狀態,并決定是否回調外部平臺(流程平臺等)2023 深圳站B B 站 作 業 平 臺 落 地站 作 業 平 臺 落 地-架 構 演 進架 構 演 進 基于SSH模式作業平臺架構 ApiserverApiserverSchedulerSchedulerWorkerWorker接入層任務管理數據層業務分發執行層權限控制Api快速執行定時任務任務編排文件分發流程編排腳本管理任務管理MysqlETCDRedisWatch Etcdregion zone選擇調度算法Worker01Worker02Worker03流程引擎 流程驅動B站統一權限SSH模塊 遠程執行作業生成&組件管理&執
33、行日志上報作業監聽&服務心跳&作業分發Watch Eted需要執行的作業參照K8S整體架構設計,按照作業的生命周期管理劃分服務組件:Apiserver,Etcd,Schedueler,Worker四大組件。Apiserver 作業平臺的大腦,負責統一鑒權,作業任務的初始化等,對外暴露接口提供上層業務調用Etcd 作業分發所依賴的中間件,參照K8S Pod的全生命周期管理,我們也是借助ETCD來做作業任務調度Scheduler 作業調度器,主要用來處理作業的調度至Worker的邏輯Worker 負責作業執行和執行日志上報,通過調用SSH模塊遠程執行命令,并把執行STDOUT采集進行上報缺點:SS
34、H模塊并發處理的能力滿足不了SRE海量作業并發,長時作業,大作業等場景2023 深圳站 基于SSH/AGENT雙模式架構 作業平臺多機房架構ApiServerRedisDBWorker機房ETCD集群AgentLog-AgentSchedulerHostHost AgentHost AgentGRPCSockGRPCWatchWatchSSH GRPCPUT二期計劃引入Agent解決Woker組件并發處理時的性能、穩定性問題。迭代期間也解決了如下問題:Agent 初始化:通過ansible或作業平臺SSH的功能完成Agent的安裝和初始化Agent 心跳:故障掉線的恢復工作Agent 側的可觀
35、測性:作業量,連接數,機器負載等監控指標采集Etcd降負載:拆分Etcd集群,按照Regin和zone的劃分,減輕Etcd壓力,解決了寫放大問題B B 站 作 業 平 臺 落 地站 作 業 平 臺 落 地-架 構 演 進架 構 演 進整體變化:整體變化:架構:中心代理模式-網格模式執行邏輯:串行-異步并發能力:基于任務執行時間+worker規模-全并發執行右移:服務端輕量化,高效調度執行端做厚,豐富干預能力,提升執行穩定性2023 深圳站B B 站 作 業 平 臺 落 地站 作 業 平 臺 落 地-架 構 演 進架 構 演 進 多活模式下架構 機房A內網SLB機房B內網SLB管理后臺SLBjo
36、b-admin(容器)openapi-server(容器)旁路系統(容器)job-core(容器)scheduler(容器)job-admin(容器)openapi-server(容器)旁路系統job-core(容器)scheduler(容器)agent-manager(容器)agent-manager(容器)機房A公網SLB(長連接)機房B公網SLB(長連接)內網直連(長連接)agentagentagentworker目標機worker目標機任務廣播sshsshjob-admin 作業輔助/邊緣/內部功能接口與實現openapi-server 作業對外開放的open接口job-core 作業
37、核心功能實現agent-manager agent/worker管理與作業任務處理worker ssh執行代理agent 物理機執行代理event旁路 目前核心作用日志消費并持久化整體變化:整體變化:架構:中心部署-單元化部署調度邏輯:基于region和zone進行機房內閉環調度去掉了ETCD依賴通過GRPC雙向流進行任務監聽和上報2023 深圳站基于作業的效能提升業務場景業務場景建設成果建設成果基于基于CMDBCMDB的主機自動上架的主機自動上架基于某站應用CMDB數據支撐,500臺主機自動化裝機交付并對接周邊系統時間從一個月縮短至3小時內完成,效率提升N倍。巡檢、補丁一鍵切換巡檢、補丁一鍵
38、切換支持多種日常場景及資源信息自動采集,工具庫統一管理,支持批量定時操作,支持復雜權限管理,支持事前審批及事后審計。各類運維集群管控各類運維集群管控靈活的作業編排,滿足各種運維集群的部署、變更需求場景應用持續部署應用持續部署應用升級耗時由小時降至分鐘級,效率提升60倍。故障自愈故障自愈故障自愈平臺用自定義作業流程支撐此典型場景,實施后耗時由天級縮短至小時,效率提升24倍。應用持續部署DB自動巡檢2023 深圳站目錄目錄CONTENTS1 2 3 4 5 SRE效能的外患與內憂從瑣事消減看SRE效能體系設計基于OnCall的協同化提效基于流程&作業的自助化提效總結與反思2023 深圳站總結與反思
39、盡快建立OnCall制度流程,并靠工具固化人效的提升依賴瑣事的減少瑣事的減少依賴流程、制度和工具盡快建立人機的數據協同化基于人-人、人-機、機-機盡力控制和避免平臺化帶來的熵增依托系統級的復用,聚焦需求出口加快場景能力的建設交付效率和質量綜合提效,依賴平臺的科學劃分,即效能體系的建立對平臺進行科學化的橫向分層和縱向分類明確團隊的職責能力和職責邊界,平衡供需團隊發力方向明確,提效提質,避免內卷內耗人員盤點平臺盤點分層分類構筑體系持續提升感謝聆聽感謝聆聽CSDN全球最大的中文開發者社區平臺CSDN全球最大的中文開發者社區平臺CSDN創立于1999年全球編程類網站排名第7(來源:Similarweb 2023.04)注冊用戶超過4300萬,覆蓋90%的中文開發者新媒體矩陣粉絲數量超過3100萬超過1000家企業客戶和合作伙伴目前公司員工近800名,分布在北京、長沙、上海、深圳、杭州、成都等城市,并在美國硅谷常設辦事處旗下品牌旗下品牌專業中文IT技術社區:CSDN.NET多媒體專業出版:新程序員開發者專屬移動APP:CSDN APP代碼托管協作平臺:GitCode代碼工具協同平臺:InsCodeIT人力資源服務:科銳??怂关俗W絡高校IT技術學習成長平臺:高校俱樂部