《04-從廣告應用中臺建設看架構思維成長-郭亮.pdf》由會員分享,可在線閱讀,更多相關《04-從廣告應用中臺建設看架構思維成長-郭亮.pdf(33頁珍藏版)》請在三個皮匠報告上搜索。
1、從廣告應用中臺建設看架構思維成長阿媽媽Java應架構師/琦域(郭亮)阿 媽 媽讓 每 份 經 營 都 算 數目錄什么是架構師?我對架構師的理解01概述阿里媽媽廣告應用中臺建設02架構策略找到和業務目標的共振03架構實施全研發生命周期的成本效率考量04架構和代碼資產還是負債?設計和演進的結合05面對新技術實用主義采納融合06阿 里 媽 媽讓 每 一 份 經 營 都 算 數什么是架構師?-我對架構師的理解Part.01豐富的知識和智慧是架構師立足的基石知識系統化碎片化人格關注事實關注利益溝通直面解決沖突逃避沖突管理同理心施壓架構師的要求架構師和研發經理架構師研發經理架構師深入垂直業務域,直接獲取多
2、路協同,以德以理驅動團隊管理,外部協作全局架構設計與規劃長期技術發展目標架構落地和長效治理機制研發經理業務目標團隊發展獲取資源研發經理產品經理業務輸入架構師廣泛間接獲取信息研發經理研發研發經理研發架構師研發經理研發研發經理研發落地執行負責對象研發經理研發研發經理研發基于公司和業務現狀定義出合理的架構策略架構策略業務域橫向架構師的主要職責架構實施架構和代碼技術創新阿 里 媽 媽讓 每 一 份 經 營 都 算 數概述-阿里媽媽廣告應用中臺建設Part.02阿里媽媽廣告應用中臺報表平臺應關AdStudio模型管控業務身份業務模型業務元數據一體化研發需求協作業務場景業務組件流程可視化變更發布效能分析風
3、控平臺策略迭代風險排查實時防控離線補防處置管理標準推廣流程個性化業務擴展效果廣告站點品牌廣告站點RTARTBPDBPD業務平臺推廣中心創意中心定向中心物料中心客戶中心關鍵詞中心資源位中心庫存中心ABF(Advertisement Business Framework)容器插件化平臺業務分離代碼能力外化DDD框架研發工具報表平臺異步鏈路平臺應用網關鏈路追蹤橫向擴展插件商業能力外部擴展業務擴展插件直通車引力魔方萬象臺外投搜索引擎推薦引擎外投引擎廣告引擎計費平臺資金管理平臺廣告結算公共業務流程由平臺側統一提供;而不同業務的差異化分離在了業務插件包里能夠從技術和業務兩方面進行能力沉淀;新業務的快速組裝
4、發布全鏈路統一的業務身份、業務模型、業務元數據管控;標準化的需求和變更發布體系在系統架構方面,通過編譯期處理,能將系統架構鏈路可視化展現;同時建立了運行時鏈路追蹤系統,提升可維護性可觀測性標準化對接平臺業務分離能力沉淀研發模式的升級2021Q12021Q22021Q32021Q42022Q12022Q22022Q3研發效能分析綜合變更數量,交付時,復雜度計算研發效能指標101%季度同比增長取得效果阿 里 媽 媽讓 每 一 份 經 營 都 算 數架構策略-找到和業務目標的共振Part.03在我們研發過程中,經常會面對系統架構策略的選擇,以及面對系統持續腐化的問題;那么怎么判斷使用恰當的架構策略,
5、以及在什么樣的時機進行系統的重構或重寫,才會是比較好的時機呢?如何判定系統的架構策略?判定重構重寫的時機?系統迭代過程通過領域劃分,建立了不同的業務域中心,使得業務平臺可以快速復用各個域中心的能力;各個業務平臺獨立迭代發展;但漸漸發現不同業務平臺中業務流程驅動,存在大量重復建設將業務流程抽象統一到統一廣告站點中提供統一的服務;同時業務差異由插件包各自實現其業務擴展定義;這個階段快速迭代發布了一大批新業務模式,但逐漸發現業務能力實現分散將業務插件中的業務能力進行梳理抽象,提煉出可復用的業務能力,和一些標準化場景,提煉到統一廣告站點以及橫向商業能力中;進一步提升技術復用度,降低維護成本和加快迭代效
6、率穩定期-平臺建設階段蓬勃發展期-中臺發展階段業務整合期-能力沉淀階段直通車鉆展超推業務平臺推廣中心創意中心客戶中心關鍵詞中心定向中心物料中心資源位中心庫存中心統一廣告站點業務平臺推廣中心創意中心客戶中心關鍵詞中心定向中心物料中心資源位中心庫存中心橫向擴展插件外部擴展橫向擴展插件外部擴展鉆展超推極速推統一廣告站點業務平臺推廣中心創意中心客戶中心關鍵詞中心定向中心物料中心資源位中心庫存中心橫向擴展插件商業能力業務擴展插件直通車引力魔方萬象臺外投業務能力標準化場景外部擴展業務迭代技術迭代總領先半步的技術迭代找到業務和系統和諧共振的頻率技術人員需要深刻的學習和理解業務,并能充分的和業務人員溝通,了解
7、和掌握未來的業務發展方向和規律;根據業務產出價值,判定技術重點投入和迭代方向;系統是業務的具體表達,系統的建設也是為業務目標服務。以業務發展方向為主導根據業務重點發展方向,提早進行相關的技術布局和建設。同時根據業務發展情況,決定研發資源的投入方向。系統和技術問題永遠存在,但是不一定非要投入力氣去解決。提早進行技術布局一段時間內的可投入資源總是有限的,當技術迭代和業務迭代發生沖突時,以業務為先。業務的發展具有未知性;時間窗口也更敏感;技術債可以拖欠;業務決定生死,技術決定生存幸福度。產生沖突時以業務贏為先阿 里 媽 媽讓 每 一 份 經 營 都 算 數架構實施-全研發生命周期的成本效率考量Par
8、t.04一臺自助售貨機的背后供應鏈代理商供貨渠道;倉儲物流體系;庫存周轉管理;人力成本補貨;硬件維護;倉儲管理;異常處理客戶投訴;硬件故障;交易失??;需求發布需求測試需求分析需求開發研發過程全生命周期結構化需求和變更明確各個業務域的領域邊界,以及各個業務域之間業務身份映射和轉換模式,并制定標準化API;以此為基礎,可以將抽象的業務需求轉變為標準的結構化需求進行對接需求的結構化通過結構化需求,可以關聯創建出變更,并能根據結構化內容自動的填充變更內容信息;通過整體變更和需求的綁定,可以做到清晰的溯源,研發效能分析,以及快速的發布需求和變更體系的對接將全域的業務身份,業務模型(包括業務定義元數據、模
9、型schema)統一維護,并建立管控審批變更發布機制;最終能自動生成各類SDK提供給開發過程使用模型管控業務需求業務身份業務模型模型存儲SDK模型管控推廣結構化需求推廣域推廣組件變更風控結構化需求風控域風控組件變更結算結構化需求結算域結算組件變更開發提效agent業務容器標準化logSLS日志云存儲規則配置Mock規則管理接口Mock服務Mock服務代理攔截預發容器agentidea插件本地開發單元測試代理攔截本地進程觸發case預發聯調鏈路日志分析排查鏈路日志分析排查工具發布體系配置類變更結構化版本存儲業務配置配置管理平臺SDK代碼類變更發布模式插件發布插件熱發布聯合發布發布回滾業務容器集團
10、集群運維ABF容器運維技術架構并不僅僅是技術框架本身的問題;需要從整個生產過程和生產關系進行評估;當要估算成本和效率的時候,需要考慮全研發生命周期的各個環節進行綜合判斷架構視角:全研發生命周期的考量需求協作可觀測人員構成質量卡點編譯構建易于測試團隊文化自動回歸可拓展版本化管理快速部署質量內建組織形式全局的成本和效率評估阿 里 媽 媽讓 每 一 份 經 營 都 算 數架構和代碼-資產還是負債?設計和演進的結合Part.05富爸爸窮爸爸:代碼是資產還是負債?收入支出資產負債業務主流程統一原有各個廣告業務線具有獨立的流程入口和業務流程;但是從廣告業務本身的特性看,其廣告投放相關業務流程都是類似的;所
11、以我們將各個業務線核心的廣告業務流程全部進行了抽象和統一,共同發展迭代廣告中臺初期建設目標平臺和業務分離當核心業務流程統一后,我們需要將不同業務形式的差異點從平臺從分離出來,讓其分屬于不同的業務模塊中獨立存在;可以達到相互隔離獨立迭代的目標架構模式統一不同發展階段和不同維護團隊的系統采用了很多不同的技術架構進行了實現;我們期望統一和標準化團隊的整體技術架構體系,來降低人員理解成本和系統維護成本業務能力沉淀期望將各個不同業務中,將相同的業務能力加以抽象和沉淀,能夠被快速的進行復用,加快業務迭代效率和質量模塊插件隔離插件熱加載能力復雜路由能力通信能力廣告中臺業務容器技術迭代過程業務流程直通車業務容
12、器ClassLoader萬相臺引力魔方業務流程直通車業務容器ClassLoader萬相臺引力魔方業務容器ClassLoader業務插件ClassLoader業務插件ClassLoader業務流程直通車業務容器萬相臺引力魔方業務策略外部依賴業務流程直通車基礎業務容器訂單場景直通車標準直通車智能持續推廣業務流程直通車業務容器ClassLoader萬相臺引力魔方業務容器ClassLoader業務插件ClassLoader業務插件ClassLoader好的系統是演化出來的還是設計出來的?持續立足長遠進行設計規劃-提升資產屬性從一開始就立足長遠建立目標進行規劃設計;并根據目標拆解出核心的技術能力點進行實
13、現;在這個過程中也不斷根據實際情況進行方案的迭代優化和目標的調整當下產出”僅僅夠用”的實現-降低負債屬性在不同的階段,分析每一步的核心問題,產出“僅僅夠用”的技術實現;這樣避免在未來目標和規劃調整時,無用、難以復用和維護的代碼快速膨脹;盡可能多的將資源投入到具有確定性的技術產出上,提升代碼的“資產屬性”;而不是產出很多需要耗費資源進行維護改造的代碼,降低代碼的“負債屬性”代碼即是資產也是負債支出資產負債收入業務需求可復用維護改造研發資源阿 里 媽 媽讓 每 一 份 經 營 都 算 數面對新技術-實用主義采納融合Part.06技術的本質并未發生革命性變革計算機的體系架構;絡協議通信式;編程語;向
14、對象設計。技術的本質依然建在年前建的基礎體系之上在算和成本的不斷突破下,基于基礎體系不斷涌現新技術模式,不同的技術模式通過多種排列組合,迅速的產新的技術變,從帶來場景的命性發展突破算力和場景的突破帶來技術的革命性發展層出不窮的技術新熱點存儲共享模式業務插件作為sidecar部署,使用共享卷的方式,將jar包放入共享卷內,main容器通過maven仲裁或容器隔離加載業務插件。中臺和云原生業務容器插件容器Shared Volume插件容器本地通信模式業務插件作為sidecar部署,并提供gRPC服務;main容器作為gRPC client進行調用。業務容器插件容器gRPC插件容器gRPC實際最終模
15、式基于java體系的特性和現狀,保留現有插件加載模式;使用gitops來達到快速調整資源的目的;使用輕容器技術來提升穩定性和可維護性業務容器Mesh容器gitops運維容器以實用主義面對新技術為什么會出現?當一個新技術出現時,我們需要去積極的學習了解它,明白為什么它是由哪些舊有的技術組合而成的,同時又帶來了哪些創新;它現在會出現或變火背后的原因是什么從全研發生命周期的角度,去評估它的成熟度,而非僅僅是其技術的先進性。成熟度如何?實用主義仔細的分析新技術和現有系統的可結合點,找到能真正取得業務效果的案;根據業務迭代的周期,以恰當的式逐步的引使新技術Substitute(替代)Combine(合并)Modify(調整)Put to other uses(改變用途)Eliminate(去除)Reverse(反向)SCAMPER法則Adapt(改造)結語:如何成為一名優秀的架構師守正篤實 久久為功立足高遠關注業務和技術的長期價值廣泛的吸納信息,產出自己的洞見善于溝通的同時能直面沖突矛盾貼合實際把控實施關注和解決當下的主要矛盾和實際問題制定合理的實施路徑和步奏成本和效率的全面考量充分參與到架構落地實施過程中關注長效治理根據效果反饋持續迭代進化歡 迎 微 信 關 注 阿 媽 媽 技 術 歡迎掃碼查看