實戰 | 開源助力基礎軟件騰飛,治理保障頂級項目穩健


微衆銀行基礎科技產品部  邸帥  王和平  李文
微衆銀行科技管理部  鍾燕清

近年來,開源技術在金融行業得到廣泛應用,基於開源技術自主研發的基礎軟件在金融行業中扮演的角色越來越重要。開源爲金融機構和企業注入發展活力的同時,如何利用開源“協同創新”的特性推動金融機構業務創新和敏捷研發,以及如何保障金融機構開源的安全性、穩定性、核心技術可控性成爲行業關注的重點話題。


微衆銀行自立行之初就充分利用開源軟件進行系統建設,搭建起一套完善的開源治理體系,保障了開源技術的穩定、安全、合規運用。後續,基於自身實踐向行業陸續開源了多個技術領域的幾十個項目。近期,由微衆銀行主導開源並捐贈的大數據平臺計算中間件Apache Linkis項目正式從Apache軟件基金會孵化器畢業成爲頂級項目,其中從技術開源到社區治理的實踐經驗,或許可以爲金融行業的技術開源提供可參考案例。


擁抱開源,搭建完善開源治理體系

成立之初,微衆銀行充分利用開源軟件和標準化硬件,搭建了國內首個具備完全自主知識產權、可支撐億量級客戶和高併發交易的新一代分佈式銀行核心系統,得以節省購買高端計算資源、軟件許可的鉅額費用,大大降低了IT成本,提升客戶體驗,探索出一條商業可持續發展的數字化普惠金融路徑。


2019年,微衆銀行宣佈金融科技全面開源,積極擁抱開源文化,參與開源社區和開源生態體系建設。迄今,在人工智能、區塊鏈、雲計算和大數據等領域已源源不斷湧現出33個項目。


在制定了“科技全面開源”的戰略目標後,爲能夠通過更廣泛和深入的開源項目社區建設,連接更多的生態夥伴,共同推動技術創新與業務創新,以及滿足金融機構“強監管”特性、嚴苛的安全及合規方面的要求,微衆銀行逐步建立起了完備的開源治理體系。


2019年,微衆銀行開始組建開源管理辦公室(OSPO),微衆銀行的OSPO組織定位是“銀行內部的開源基金會”,在組織架構、職能定位等方面深入研究和參考了開源基金會以及各種大型開源項目社區的管理體系架構及運作模式(如圖1)。

圖1  微衆銀行開源治理組織架構


該模式下,信息科技委員會爲銀行最高與信息科技相關的決策機構,開源管理工作組直接向信息科技委彙報,這意味着公司將開源與研發管理、運維管理等放到了同一個層面,通過成立OSPO把和開源治理相關的各個職能、崗位和角色串聯在一起,統籌規劃所有工作。


微衆銀行還成立了TOC團隊(Technical Oversight Committee,技術監督委員會),由各個部門選派或推舉的技術專家構成,主要工作就是制定技術標準和規範、解決技術難題、推動內部開源、推動公共平臺建設,以產品驅動、敏捷模式的組織架構在企業內部技術開放的風格中推動由技術驅動的決策機制,加強技術聯動。通過TOC在企業內部推動由技術驅動的決策機制,實現開放協同透明的氛圍,是微衆銀行在開源建設上很重要的探索。


同時,微衆銀行積極倡導內部開源文化建設,通過內部開源激勵體系,鼓勵員工積極參與內外部的開源活動及上游社區。目前,微衆銀行超過五成的科技員工關注開源、擁有GitHub賬號,超過二成的科技員工積極參與社區貢獻。


在完善的開源治理組織體系基礎上,微衆銀行制定了長期的開源戰略,從開源軟件的使用者不斷向上遊社區的參與者、開源項目的發起者、開源生態的建設者等角色轉換,其中,孕育出了計算中間件Linkis項目。


敏捷創新,解決金融機構業務痛點

對於金融行業而言,數據是驅動業務發展的核心資產。爲了更好地利用這些數據,搭建自己的大數據平臺已經成爲金融行業科技創新的主要方向。Linkis最初就是爲解決微衆銀行內部大數據平臺建設過程中的痛點而生。


大數據技術的普及和深入發展帶來了越來越多樣化的用戶場景需求,金融機構在建立大數據平臺的過程中,遇到了一些挑戰,如大數據的深入應用催生了很多上層應用工具和底層計算存儲引擎,而在當前的大數據平臺架構體系下,上層應用工具和底層各個引擎各自爲政的情況還十分普遍,Server-Client模式緊耦合滿天飛。在大量的上層應用工具和大量的底層引擎之間,缺乏一層通用的“中間件”框架設計,導致整個大數據平臺變成複雜網狀架構(如圖2)。

圖2  沒有Linkis之前上層應用工具和底層引擎之間是個複雜的網狀結構


這也使得上層應用工具和底層引擎之間的連通、擴展、管控、編排、複用等“計算治理”問題凸顯。


從“連接”問題來看,大數據底層計算存儲引擎繁多,各個上層應用工具需要各自維護底層引擎的Lib依賴、運行時環境等信息,導致部署運維工作極其繁重,底層引擎任何變動都會影響上層應用的可用性和可維護性。


從“擴展”問題來看,比如某個上層應用最初使用的數據引擎是Hive,但一段時間後覺得Hive計算太慢,想使用Spark,後又由於同樣的原因再去使用Presto、Impala等,此時這個上層應用工具需要分別去擴展對接這些引擎,這無疑會帶來非常巨大的開發成本,也不符合金融機構對敏捷研發的需求。


從“複用”問題來看,每個上層應用都要重複集成和管理各種底層引擎的Client的連接及其狀態,特別是在併發使用用戶逐漸變多、併發計算任務量逐漸變大時,每個上層應用還要重複解決多個用戶間在Client端的資源爭用、權限隔離,計算任務的超時管理、失敗重試等等計算治理問題,造成的開發人力浪費不可小覷。


除了上述的架構層面問題,在複雜分佈式架構環境下,想讓各種類型的計算任務都能更簡潔、靈活、有序、可控地提交執行併成功返回結果,計算治理還需關注高併發、高可用、多租戶隔離、資源管控、安全增強、計算策略等細化特性問題。


爲解決這些問題,微衆銀行大數據平臺團隊結合自身開發經驗設計了中間件Linkis(如圖3),專門用來解決上述緊耦合、重複造輪子、擴展難、應用孤島等計算治理問題,如複雜分佈式架構的典型場景——數據平臺環境下的計算治理。

圖3  應用Linkis後的上層應用和底層引擎之間的連接


Linkis在上層應用程序和底層引擎之間構建了一層計算中間件。通過使用Linkis提供的REST/JDBC/Shell等標準接口,上層應用可以方便地連接訪問MySQL/Spark/Hive/Trino/Flink等底層引擎,同時實現變量、腳本、函數和資源文件等用戶資源的跨上層應用互通,以及通過REST標準接口提供了數據源管理和數據源對應的元數據查詢服務。


以往,金融機構建立大數據平臺時,因爲上層應用和底層引擎的調用關係複雜,很多金融機構會在選擇了某些組件後,將其固化,被某個單一技術綁定,這樣也失去了開源技術“敏捷高效”的意義。而Linkis作爲一箇中間件工具,爲微衆銀行大數據平臺中龐雜的上層應用和底層技術提供了高效銜接,成爲微衆銀行打造的一站式、金融級、全連通、開源開放的大數據平臺套件WeDataSphere中重要的一環。從最開始只爲解決數據分析工具IDE即時分析的場景,到現在已經支撐了微衆銀行內數據平臺的多個上層應用工具,涵蓋了用戶的整個數據應用分析的開發流程,並對接了多個線上應用支撐了多個核心關鍵業務應用,讓不同的引擎和不同的技術組件能夠高效打通,並且實現兼容。


利用Linkis強大的連通、複用、編排、擴展和治理管控能力,通過計算中間件將應用層和引擎層解耦,簡化了複雜的網絡調用關係,降低了整體複雜度,保障靈活創新的同時還節約了整體開發和維護成本。


開放協作,打造世界級開源項目

Linkis最初只是在微衆銀行內部進行孵化,2019年開始對外開源。在開源後,Linkis項目得到了很多開發者和用戶的支持和幫助,如招聯金融、中國平安、陽光保險、長橋證券等金融機構,以及中國電信、奇虎360、理想汽車、Boss直聘等各行各業知名企業也逐漸參與Linkis社區的建設。利用開源技術的創新應用,微衆銀行不但解決了自身大數據平臺建設的痛點,還爲業界提供了一個優秀的中間件開源方案。


Linkis開源後的快速成長,並獲得了ASF的注意。ASF成立於1999年,是目前世界上最大的開源基金會,管理着2.27億多行代碼,並且100%免費向公衆提供價值約爲220億美元的軟件,使全球數十億用戶受益。


經過ASF的全方位審覈和評估,於2021年9月,Linkis正式通過ASF投票決議,以全票通過的優秀表現成爲ASF孵化器項目。


ASF孵化器對畢業成爲頂級項目所要求的條件嚴苛,每個孵化項目都需要達到事先制定的目標成熟度,且遵照ASF的孵化畢業流程進行投票,因社區的參與者來自世界各地,所以項目需要所有不同國家、不同文化、不同背景的開發者共同認同一個技術理念,投票通過方可畢業。正因此,造就瞭如Hadoop、Flink、Spark等多個享譽世界的頂級項目。


2023年1月18日,Apache軟件基金會官方宣佈ApacheLinkis順利畢業,成爲Apache頂級項目(TLP),這也是全球首個由銀行機構主導捐贈並畢業的Apache頂級項目。截至目前,源自中國的Apache頂級項目只有20個,華爲、百度、阿里、騰訊等大型科技公司均主導過Apache頂級項目,主導Apache頂級項目已成爲國內外領先科技公司技術實力和社會責任的雙重體現。


社區治理,奠定頂級開源項目基礎

Apache Linkis的成功,得益於微衆銀行建立的開源治理體系和Apache Linkis的開發團隊持續不斷的努力和創新。在項目的開源治理方面,Apache Linkis充分遵循了“Apache Way”(Apache軟件基金會推崇的開源軟件開發和社區治理模式),並結合微衆銀行自身多年的開源治理實踐經驗,爲Apache Linkis的成長提供了開放、透明、共識、技術導向、精英治理等治理模式。


1.建立開放的溝通渠道。Apache Linkis開放了多個溝通渠道,包括Apache郵件列表、開發者社羣、GitHub/Gitee、社交媒體等。這些渠道允許社區成員自由討論和交流,共同推動項目的發展。Linkis開發團隊積極參與社區討論和反饋,不斷優化和改進軟件的功能和性能。


2.建立清晰的代碼管理和貢獻流程。Apache Linkis基於GitHub建立起清晰的代碼管理和貢獻流程,使得社區成員可以方便地提交代碼和貢獻。Apache Linkis開發團隊會對代碼進行審覈和測試,確保其質量和穩定性。同時,Apache Linkis也鼓勵社區成員積極參與到代碼審覈和測試中來,共同推動項目的發展。對於有意願爲Apache Linkis做貢獻的開發者,Apache Linkis團隊進行耐心的指導,幫助開發者順利完成代碼提交,做出代碼貢獻。


3.提供完善的文檔和教程。Apache Linkis提供了完善的文檔和教程,幫助社區成員更好地理解和使用軟件。Apache Linkis的文檔和教程包括安裝、配置、使用和貢獻指南等,通過Apache Linkis官網、GitHub、Gitee都能快速的獲取到,這些內容可以幫助社區成員更好地使用軟件。


4.建立友好的社區文化。Apache Linkis建立了友好的社區文化,鼓勵社區成員彼此尊重和支持,促進合作和共贏。Apache Linkis開發團隊非常注重社區成員的反饋和意見,積極處理和解決問題,使得社區成員感受到Apache Linkis項目的價值和意義。


5.持續創新和改進。Apache Linkis開發團隊持續進行創新和改進,推出了許多新的功能和模塊,使得軟件的功能和性能得到了極大提升。Apache Linkis開發團隊還積極關注行業的變化和用戶的需求,不斷優化和改進軟件,爲用戶提供更好的使用體驗。


在建立和管理一個開源項目的過程中,開放的溝通渠道、清晰的代碼管理和貢獻流程、完善的文檔和教程、友好的社區文化和持續的創新和改進十分關鍵。通過這些方式,Linkis逐漸成爲了一個穩定、成熟和受歡迎的開源項目。目前,Apache Linkis開源社區羣用戶總數超7600人,沙箱累計試用公司超2600家,收到超過110家企業已投入生產的反饋,生產環境支撐的數據量超400PB,生產服務的用戶超5000人,涉及金融、電信、製造、互聯網等多個行業。


釋放價值,助力基礎軟件走向國際

Apache Linkis是微衆銀行開源戰略的重要里程碑,從項目的開源的經驗和成效來看,開源的確可以爲金融機構的創新發展提供強大的動力,併爲金融行業的科技進步釋放積極價值,具體而言。


1.開源是促進團隊技術能力飛躍的有效舉措。在開源社區建設的過程中,項目團隊始終踐行開放的理念,積極組織並參與社區的討論與分享。在Apache Linkis項目中,開源社區集結了超過127位來自不同地區和行業的開發者參與貢獻,平均每1~2個月就會發佈一個新版本,極大反哺了項目的成長,加速了微衆銀行大數據平臺團隊自身技術實力的提升。


2.開源是激發技術人員創新熱情的有力抓手。“將代碼丟出去,將信任拿回來”是微衆銀行開源愛好者們秉持的一致理念。當代碼質量經過了社區開發者的考驗,特別是收到來自外部機構使用後的反饋時,研發人員所受到的鼓勵往往比內部項目交付還要直接。而這種鼓舞,也讓技術人員能夠產生持續的動力,從而飽含熱情地投入下一次創新。


3.開源是提升企業技術預研能力的可靠方式。擁抱前沿技術、持續科技創新是當代金融機構的必由之路。微衆銀行堅持以科技爲驅動業務發展的引擎,持續投入前沿技術研究與儲備,開源軟件的引入和對外開源的過程中,基於快速迭代的開源技術,以及與全球社區開發者的交流探討,在開源實踐中提升了對技術趨勢的研判能力,幫助我們在發展初期將區塊鏈、雲計算等技術運用於自身業務,又前瞻佈局研發了諸如聯邦學習FATE、區塊鏈FISCO BCOS、大數據Linkis、隱私計算WeDPR等相關技術成果。


4.開源是踐行ESG、推動基礎軟件自立自強的可行路徑。一般看來,將知識產權侷限於企業內部使用,可能對企業本身的利益是最大化的。然而微衆銀行選擇開放知識產權,將軟件代碼開源,不僅整體降低了行業的研發門檻,避免重複造輪子,更能推動行業技術的共同發展。通過技術開源、生態建設,Linkis項目從銀行內部解決大數據平臺管理的一個小組件,成長爲被國際開源領域權威認可的明星項目,證明了我國金融科技的研發實力,提升了我國大數據相關基礎軟件的影響力,推動了自主研發的基礎軟件走向國際。


未來,微衆銀行將會持續貫徹開源戰略,完善治理體系,貢獻開源代碼,共建開源生態,並將經驗共享給行業,助力推動金融科技整體的開源進程,爲助力高水平科技自立自強,探索行之有效的參考路徑。


(欄目編輯:韓維蜜)



新媒體中心

主任 / 鄺源

編輯 / 姚亮宇  傅甜甜  張珺  邰思琪

本文分享自微信公衆號 - WeDataSphere(gh_273e85fce73b)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章