Categories
程式開發

螞蟻金服的金融級架構之道


11月19日,在北京召開的“螞蟻雙11背後的技術”發布會現場,InfoQ記者採訪了螞蟻金服金融科技產品技術部總經理楊冰,就螞蟻金服如何定義金融級軟件、SOFAStack金融級分佈式架構以及雲原生技術對架構領域的影響等問題做了採訪。

螞蟻金服的金融級架構之道 1

金融級軟件有何不同?

傳統金融行業的特性,天然存在多廠商、跨語言、安全性係數高、要求對數據的強掌控性。楊冰表示,螞蟻金服在服務金融業客戶方面,有做得好的方面,也有做得還不夠仍在努力的方面。

金融客戶具有兩種屬性,第一種叫做金融級。所謂金融級,是指很多特性是金融客戶所特有的,比如在安全性、穩定性方面的要求更高。在這樣的要求下,系統設計必須在高可用性和安全性等方面額外下許多功夫。

但另一方面,金融級客戶在金融級特性以外,跟其他產業的特性同樣存在交叉的地方,比如說多廠商。因此,金融級軟件既帶有金融企業的行業特徵,又具備企業級客戶的諸多特性,這是其一。

第二個特徵,金融業的IT體系相對完善。楊冰解釋道,螞蟻金服在針對金融級客戶的策略中,天然地能夠理解金融級客戶的需求與痛點。另一方面,對於技術怎麼樣往上去支撐業務發展,在業務建模、使用方式等方法論層面,以及組織架構、團隊等方面,都是可以深入溝通的。在軟件技術與組織、機制的配套維度,是螞蟻金服的優勢所在。

企業級市場不同於C端市場,需求多樣化、定制化,軟件架構的複雜程度都要遠遠高於C端產品。楊冰提到,螞蟻金服的內部架構比較整齊劃一,但在外部企業級客戶端,則需要去兼容很多老的系統。企業級市場客戶長期保留的傳統的軟件開發思維和架構,是螞蟻金服所不具備的,在這方面還需要和更多生態合作夥伴展開共建。

楊冰表示,螞蟻金服不僅要去講金融級的故事,還要去真正把企業集成所需要的東西做出來,不僅要做軟件的一體化集成,同時也要重視與開源社區的合作與兼容。另外一方面,螞蟻金服也宣布了與阿里雲的雙劍合併戰略,螞蟻金服現在除了保留產品跟部分的解決方案團隊以外,在交付和商務界面上都依託於阿里雲。

SOFAStack對金融業的參考意義

SOFAStack最初是支付寶的一套分佈式架構,在螞蟻金服內部延用12年之久並在2018年開源。在楊冰看來,SOFAStack對金融業最大的意義就是提供了一個參考架構。據了解,SOFAStack不僅給金融業界提供了軟件產品,而且把完整的軟件架構貢獻給了社區。無論是中間件層面上的工具,還是架構的設計理念,應該解決哪些問題,都能在開源代碼中找到。

另一方面,SOFAStack跟其他的開源項目不同的地方在於,SOFAStack內部版本和開源版本都是基於一套代碼,這意味著開源版本並不是無源之水,而且會不斷地因為內部版本的發展注入新的發展動力。這部分都是完全公開透明的,社區可以清楚地感知到SOFAStack的開源架構是動態的,可以把握到其發展的脈絡,比如現在大力在做的Service Mesh,後續將做的安全容器等等。

螞蟻金服的金融級架構之道 2

雲原生是未來嗎?

SOFAStack在走到第四代架構的時候,就已經完成了體系化的金融級分佈式架構的建設。最近一兩年內,分佈式架構內的雲、PaaS層面更多在向雲原生方向發展。

楊冰認為,雲原生的出現就是告訴企業和開發者一個理念,用更好的方式去用雲,對用戶來說也可以把複雜度交給雲。在這個過程中形成了一套新的標準,這個創新是以Kubernetes為核心的,圍繞周邊的一整套生態。就像當年Linux的出現一樣,但Linux是更底層,而K8s經過最近幾年的打磨已經成為了事實標準。再往上,就是基於K8s的這套東西去做Serverless和Service Mesh,在應用層一層層往上做標準化。

螞蟻金服在完成了第四代金融級分佈式架構的建設以後,正在經歷一次巨大的重構,既要保證原有的核心能力不丟失,同時要把內核、代碼邏輯和核心能力轉用雲原生的方式實現,在保持金融級的能力不變的情況下,吸收更多雲原生技術的好處。更進一步,通過雲原生的手段,架構也將變成一個更加開放的架構,變成一個類似社區內核的東西,很多圍繞監控、中間件、運維、AI的開源技術可以跟SOFAStack對接,也可以直接吸收過來以開放加自研的方式將其白盒化掌握,甚至產生一些新的技術、產品,這是雲原生對金融級分佈式架構帶來的一大好處。

楊冰表示,架構領域這兩年最大的變化就是雲原生。螞蟻金服在業界算是實踐雲原生比較多的一家科技企業,楊冰也認為雲原生概念不僅適用於金融行業,同樣適用於互聯網行業以及傳統行業。