《招商銀行-徐佳航-招商銀行金融平臺工程實踐.pdf》由會員分享,可在線閱讀,更多相關《招商銀行-徐佳航-招商銀行金融平臺工程實踐.pdf(30頁珍藏版)》請在三個皮匠報告上搜索。
1、招商銀行金融平臺工程實踐招商銀行/基礎設施研發中心/云平臺及運維平臺開發團隊徐佳航 云原生應用管理平臺產品負責人 講師簡介講師簡介擁有超過 15 年獨特跨領域經驗,曾在電信、汽車、金融行業,初創公司擔任聯合創始人,KubeVela Maintainer近年來主要致力于云原生應用技術實踐及開源社區(KubeCon NA、KubeCon China、云棲大會)目前在招商銀行側重云原生實踐、平臺工程產品化目錄目錄汽車汽車“平臺工程平臺工程”云原生云原生“平臺工程平臺工程”招商銀行平臺工程實踐招商銀行平臺工程實踐實踐成果與獲益實踐成果與獲益總結與啟示總結與啟示汽車“平臺工程”:汽車平臺化背景背景標準組
2、件化平臺的創建、開發,滿足新車型低成本和短開發周期的需求,促進了汽車研發、交付、售后等管理效能的發展。汽車組件平臺包括以標準化方式設計和組裝汽車的所有子系統,以及以組件間形態按標準模型設計和生產汽車零部件,并根據車型定位進行最終的“組裝”。汽車建模 與 關注點分離模型 與 SOP豐田豐田TNGATNGAToyota New Toyota New Global Global Architecture Architecture CarCar P Platformlatform豐田豐田實施平臺化后實施平臺化后,規約“標準”車型組件,規約“標準”車型組件不同車型間,組件可復用;不同車型間,組件可復用;
3、一個平臺一個平臺(生產線生產線),可生產旗下,可生產旗下不同品牌的車型(產品不同品牌的車型(產品)從平臺和產品之間關系從平臺和產品之間關系先建平臺先建平臺,再造車再造車汽車平臺汽車平臺(Car)(Car)云原生平臺云原生平臺(App)(App)云原生“平臺工程”:云原生應用平臺化背景背景Inspired by Daniel Bryant at PlatformCon Why nowWhy now?容器:成為云應用容器:成為云應用交付介質交付介質標準標準微服務:成為云微服務:成為云應用架構應用架構標準實踐標準實踐K8sK8s:成為云:成為云應用資源應用資源管理管理標準標準IaCIaC:成為成為運
4、維自動化運維自動化標準實踐標準實踐4427235010.542.7432.5557020406080100120未上云混合云私有云公有云(多云)!#$!#$%&()*+,()*+,-.20222019DORA 202DORA 2023 3 State of DevOps ReportState of DevOps ReportCNCFCNCF:社區持續演進:社區持續演進形形成成平臺團隊、平臺團隊、平臺平臺、參考架構、參考架構放大DevOpsDevOps、SRESRE、PlatformPlatform EngineerE招商銀行平臺工程實踐:云原生應用平臺應用上云后挑戰應用上云后挑戰 當前云的環
5、境下開發人員關注點越來越多。從應用開發到應用交付、應用運維都需負責,職能邊界長。云基礎設施的復雜性暴露給了開發者,開發人員直面云的各項技術細節。微服務關聯鏈路長,關聯服務涉及組織多,運維、排障效率低。前端DMZ網關API服務狀態服務舉例:簡單業務場景不必要的靈活不必要的靈活帶來復雜性帶來復雜性,可用標準化規約,可用標準化規約應用管理生命周期虛擬機應用容器化應用數據庫、中間件等應用用云復雜度應用初始化系統子系統、發布單元、服務單元、代碼倉、流水線、制品庫、流程中心、部署策略、重要性等級等行內應用開發運維人員目前至少要掌握60+(不含編程領域)不同門類用云領域知識,使用超過多個應用相關平臺,才可能
6、勝任云應用開發運維。用云復雜性,造成應用業務連續性保障難度大按ACS租戶、Quota申請計算(虛機)、網絡(Vnet、SLB、SubNet、PIP、NAT)存儲按容器租戶、Quota申請命名空間,申請微服務租戶。數據庫架構選型、資源評審,資源申請。應用配置配置文件路徑及文件格式,SLB、后端池、出入站規則、健康探測規則等。應用配置自行管理ENV、Secret、ConfigMap、Mount、ENVREf、CMD、內部路由svc、外包路由route、容器端口、健康探針、優雅停、微服務配置等各類yaml應用正確配置db鏈接池,解決數據庫sql兼容性問題。應用部署編寫部署腳本,設置自啟動服務,切換回
7、退自行實現。depoyment、job、cronjob等,彈性、灰度、域名訪問、網絡安全掃描、DNS上線sql發布等、防火墻開通應用運維、監控、排障根據自身經驗知識查看分析應用日志、應用鏈路、應用指標。提權運維變更并驗證。如遇網絡問題需聯系平臺及網絡團隊排查。聯系DBA進行故障定位分析開發人員需要掌握技能梳理應用上云后挑戰應用上云后挑戰|小結小結大規模大規模金融私有云金融私有云Convergence of IT Infrastructure應用應用云原生轉型云原生轉型Application Be Cloud Native挑挑戰戰ComplexityComplexityEfficiencyEff
8、iciencyStabilityS實踐三要素實踐三要素(1/31/3)|應用標準化應用標準化 OAM為平臺團隊提供標準化的云標準化的云能力能力供給供給范式范式。云建設者研究用戶訴求,抽象封裝云的能力,使用OAM進行標準化供給:定義工作負載:抽象封裝云的基礎能力和實現細節;制定云能力使用規范并標準化實現。定義運維特性:抽象封裝云和運維自動化的基礎能力;分散的能力集中化、標準化。實現對應controller控制器:通過OAM執行引擎實現對應的控制器。通過應用管理GUI供給開發人員。定義APIServer這類工作負載類型由k8s的deployment資源對象來實現。定義route這個運維特性可給AP
9、IServer工作負載使用定義route如果配置了internet訪問將自動發起安全掃描和dns公網開通實踐三要素實踐三要素(2/32/3)|建立建立“黃金路徑黃金路徑”SOP”SOPCreateConfigDeployElasticObservabilityDiagnoseSecurityMigration創建指定類型的應用使用版本配置按需部署策略(金絲雀發布、滾動發布、組裝發布)彈性應用成本 使用標準遙測輸出進行應用可觀測問題診斷和性能以代碼形式定義安全策略(IAM)兼顧遺產、遷移自動化實踐三要素實踐三要素(3/33/3)|逆康威定律逆康威定律Conways lawConways law:
10、設計系統的架構受制于產生這些設計的組織的溝通結構。產品結構產品結構Team TopologyTeam Topology(PlatformTeamPlatformTeam)Team TopologyTeam Topology(Enabling TeamsEnabling Teams)“調整軟件(產品)架構匹配的邏輯組織結構 Reverse Conway Reverse Conway ManoeuvreManoeuvreInfraSreSecue.內部開源共建云原生“平臺工程”產品化產品化路線產品化路線|應用標準化引擎(應用標準化引擎(OAM&KubeVelaOAM&KubeVela)refere
11、ncereference thethe definitiondefinitionApplicationApplicationCNCF EcosystemEnd UserwebservicewebserviceworkerworkerscalerscalerTaskTaskhelmhelmRegistered Definition Modules(Component,Trait,Workflow,Policy)Definitions are modularized capabilities:1)Discoverable2)Reusable3)Implementation AgnosticDefi
12、nitionsDefinitionsPlatform BuilderCapabilityCapability ProvidersProviders(CRD Operator)ArgoCDFluxCDKubeVela Addons產品化路線產品化路線|應用灰度發布應用灰度發布產品化路線產品化路線|應用可觀測應用可觀測產品化路線產品化路線|兼顧遺產兼顧遺產應用質量Meta管理應用部署webservicefrontend工作流多集群管理可觀測性應用策略云原生應用UX云原生應用平臺IaaS(虛機、網絡、安全等)kubernetes集群基礎設施層交互層工作負載層運維特性層OAM引擎層flinkvmser
13、vice應用資源調度.流量控制灰度發布應用可觀測(SLO)應用依賴管理應用配置管理其他Runtime(FaaS、StaticFile等)應用開發運維者平臺開發者APIServerAPIServermysql應用納管AppFile交互vm容器Agentfrontend.產品當前產品當前架構架構實踐成果與獲益實踐成果實踐成果|標準工作負載標準工作負載FrontendFrontendFaaSFaaSTaskTaskAPIGatewayAPIGatewayMySQLMySQLFlinkFlinkAPIServerAPIServerStaticFileStaticFile標準化標準化工作負載工作負載 應
14、用開發者按業務應用場景,選擇工作負載。比如接受API訪問的后端服務,使用APIServer。一種工作負載對應一種標準應用開發范式或者框架。FrontendFrontend:使用前端開發范式和框架(如React等)開發,通過容器運行,可通過域名訪問。APIServerAPIServer:使用云開發范式和框架(如Springboot)開發(或語言不限),接受API請求訪問,實例無狀態,通過容器運行等。APIGatewayAPIGateway:基于SCG框架實現的微服務網關,提供全套網關能力,支持配置即可用和自定義擴展,可通過域名訪問。TaskTask:提供標準化、簡單易用的“一次性”和“周期性”任
15、務,任務不提供api訪問。FaaSFaaS:提供標準化,簡單易用的函數即服務。StaticFileStaticFile:提供標準化,簡單易用的靜態文件服務器能力,支持OSS和CDN。FlinkFlink:基于Flinkon Kubernetes實現,低門檻使用Flink能力。MySQLMySQL:MySQL數據庫,提供數據庫申請,數據庫腳本發布與數據庫可觀測。OracleOracle:OracleOracle數據庫,提供數據庫申請,數據庫腳本發布與數據庫可觀測。VMServiceVMService:采用Kubernetes機制實現虛擬機發布,標準化發布過程與流程,運維成本低,運維體驗與容器一致
16、。.VMServiceVMServiceOracleO實踐成果實踐成果|標準標準E2EE2E應用應用管理管理(原生原生)能力能力 運維特性是附屬于標準工作負載的應用管理能力,承載標準化云及運維自動化能力應用創建應用創建:支持“一站式”完成云原生應用,服務單元,發布單元,碼云倉庫與流水線等資源“全階段環境”(DEV-ST-UAT-UAM-PRD)的創建。配置管理:配置管理:支持版本化的配置管理,實現配置全托管?;叶劝l布灰度發布:提供標準化的平臺級灰度能力,滿足多個服務單元灰度和全鏈路灰度,支持請求參數與流量配比等流量策略,灰度過程提供實時觀測能力。彈性伸縮彈性伸縮:支持周期彈性與指標(CPU,內
17、存與請求量)彈性,伸縮過程提供事件跟蹤,招乎告警與鏈路可觀測,支持動態調整JVM參數應用可觀測應用可觀測:基于不同工作負載類型的核心觀測指標,融合統一日志、北斗鏈路、指標平臺與先知告警,提供最佳觀測路徑實踐運行時架構守護運行時架構守護:提供服務單元預期調用拓撲描述、運行時調用拓撲動態更新、系統架構動態“保鮮”故障診斷故障診斷:快速故障定界,指導切換隔離。應用遷移:應用遷移:支持以服務單元粒度完成同系統,跨系統與分級分類等遷移,遷移實現網絡自動化(探測與提單處理)、流量灰度和資源回收等能力。微服務治理微服務治理:提供API粒度控制,流量治理可觀測,應用網關與分布式事務管理等能力.運行時運行時架構
18、守架構守護護標準化標準化運運維特性維特性彈性伸縮彈性伸縮微服務治理微服務治理應用可觀測應用可觀測灰度發布灰度發布應用遷移應用遷移應用創建應用創建配置管理配置管理故障診斷故障診斷應用納管應用納管CreateConfigDeployElasticObservabilityDiagnoseSecurityM實踐獲益實踐獲益采納率采納率PRD70PRD70%、7w+7w+應用應用(Half(Half-YearYear)研發覆蓋研發覆蓋(總分行、境外總分行、境外)666 600 Devs 00 Devs 故障診斷報告故障診斷報告10s10sMTTRMTTRDownDown應用管理生命周期應用管理生命周期
19、HrsHrs-MinsMins(RookieRookie)遺產工具遺產工具All in OneAll in OneEfficiencyEfficiencyStabilityStabilityComplexityComplexity能力能力MatrixM總結與啟示案例關鍵點案例關鍵點平臺工程在汽車領域有實踐規模提升組織成效云原生標準化演進,平臺工程也隨之出現;DevOps、SRE、平臺工程側重不同,平臺工程依托統一云原生基礎設施,突出標準化招行依托應用管理平臺落地平臺工程,應對應用上云后挑戰應用標準化、SOP、逆康威定律(內部開源)(3要素)產品化方面,重點關注應用標準化、應用發布、應用觀測、兼顧遺產 需要與開源社區有效融合,形成符合組織的平臺架構基于招行實踐、運營度量,平臺工程的采用能滿足平滑過渡的同時,提升應用管理效能微 信 官 方 公 眾 號:壹 佰 案 例關 注 查 看 更 多 年 度 實 踐 案 例