摘要:阿里妹導讀近日,螞蟻金服副胡喜應邀做了螞蟻金服十五年技術架構演進之路的演講,分享螞蟻金服對金融科技未來的判斷,并首次對外公開螞蟻金服技術人才培訓體系以及項目。
阿里妹導讀:近日,螞蟻金服副CTO 胡喜應邀做了《螞蟻金服十五年技術架構演進之路》的演講,分享螞蟻金服對金融科技未來的判斷,并首次對外公開螞蟻金服技術人才培訓體系以及 BASIC College 項目。主要觀點:
螞蟻金服過去十五年,通過技術重塑了支付和微貸業(yè)務。Blockchain (區(qū)塊鏈)、ArtificialIntelligence(人工智能)、Security(安全)、 IoT(物聯(lián)網(wǎng))和 Cloud computing(云計算),這五大 BASIC 技術仍會是金融科技的基石。BASIC 里最基礎的能力是計算能力,只有不斷提升計算能力,才能適應未來應用場景的千變?nèi)f化。
金融交易技術的核心是金融分布式中間件,關鍵是分布式數(shù)據(jù)庫的能力。對數(shù)據(jù)不丟失,業(yè)務不停機是金融級高可用的極致追求,同時,更要具備主動發(fā)現(xiàn)風險和自我恢復的能力。
金融級分布式系統(tǒng),最終將走向云原生化?,F(xiàn)有的中間件能力將通過 service mesh 形式下沉至基礎設施。安全可信的執(zhí)行環(huán)境是金融級系統(tǒng)的底線,安全容器將成為金融行業(yè)的強需求。
金融級數(shù)據(jù)智能未來的趨勢是 Big Data Base,我們需要開放式的計算架構,從統(tǒng)一存儲規(guī)范,可插拔的引擎組件,融合計算引擎,到統(tǒng)一的智能 SQL,數(shù)據(jù)處理與人工智能系統(tǒng)將會進一步融合,最終形成開放智能計算架構的最佳實踐。
多樣化的計算,如流、圖、機器學習經(jīng)常并存于業(yè)務場景中,螞蟻金服聯(lián)合 Berkeley 大學推進的新一代計算引擎 Ray,著力于打造一個多模,融合的金融級計算引擎,幫助業(yè)務以簡單的函數(shù)式編程實現(xiàn)多樣化的分布式計算功能。
螞蟻金服最新開源的SQLFlow,抽象出端到端從數(shù)據(jù)到模型的研發(fā)過程,配合底層的引擎及自動優(yōu)化,我們希望讓人工智能應用像 SQL一樣簡單。
以下是螞蟻金服副CTO胡喜的分享內(nèi)容全文:螞蟻金服過去十五年,通過技術重塑了支付服務小微貸款服務。我們認為 Blockchain (區(qū)塊鏈)、Artificial intelligence(人工智能)、Security(安全)、 IoT(物聯(lián)網(wǎng))和 Cloud computing(云計算),這五大 BASIC 技術仍會是金融科創(chuàng)新發(fā)展的基石。
但是,在 BASIC 技術中最基礎的能力是計算能力,只有不斷提升計算能力,才能適應未來應用場景的千變?nèi)f化。對螞蟻來說,要解決兩個最關鍵的計算問題,一個是在線交易支付的問題,另外就是解決金融級數(shù)據(jù)智能的問題,狹義來講就是 OLTP 和 OLAP 的問題。
講到金融在線交易,肯定要講到“雙十一”。因為“雙十一”是整個中國 IT 屆技術驅(qū)動力的盛世,螞蟻在“雙十一”的發(fā)展過程當中,可以看到金融支付幾乎每年都是三倍的增長,到今天,整個系統(tǒng)具備百萬級每秒的伸縮支付能力。
背后到底怎么做的?有些技術能力就跟跳水項目的規(guī)定動作一樣,一定要具備這些能力。比如怎么做分布式、微服務,消息隊列的問題。具體到螞蟻,更重要的是解決分布式事務的問題,怎么做高可用,怎么做一致性,數(shù)據(jù)不能有任何丟失,不能有任何偏差,到最后怎么能夠完成金融級的分布式中間件,到現(xiàn)在為止,我們可以看到一點,在高可用,一致性方面我們已經(jīng)做到在任何情況下的數(shù)據(jù)最終一致,保證每一筆支付扣款的資金安全。并且我們?nèi)ツ陮φw內(nèi)部的中間件進行了開源,SOFAStack 是我們這么多年沉淀在金融級的最佳實踐,我們期待這些實踐能夠幫助到更多人,從最近開源的數(shù)據(jù)來看,有 23000 的 Star,100 多個同學來參與貢獻,歡迎大家更多地去試用。
剛剛講中間件是能夠在跟數(shù)據(jù)庫無關前提的情況下,能夠把整個金融交易做好,這是我們基本的要求,但金融交易技術中最關鍵的是分布式數(shù)據(jù)庫能力。2009 年,螞蟻啟動自主研發(fā)數(shù)據(jù)庫 OceanBase,這是一個非常偏向于高可用,一致性分布式的數(shù)據(jù)庫,通過 Paxos 算法解決內(nèi)部一致性的問題,到今天為止,螞蟻整個數(shù)據(jù)庫全部跑在 OceanBase 之上。
我常常會說什么才是核心技術?有些人說,核心技術只要投入人就可以做好,其實不是這么回事,核心技術不僅僅是有人有資源,還需要時間的積累,是需要天時地利人和,還需要公司、整個業(yè)務的支持,才能發(fā)展到今天,做技術還是需要一點技術情懷,螞蟻就是一直這樣堅持下去,十年左右的時間堅持開發(fā)自己的數(shù)據(jù)庫,從零開始寫第一行代碼,到現(xiàn)在為止,OceanBase 數(shù)據(jù)庫集群最大處理峰值是 4200 萬次 / 秒,單集群最大的節(jié)點超過 1000 臺,最大存儲容量超過 2PB,單表最大的行數(shù)是超過 3200 億行,并且在少數(shù)副本故障的情況下,能夠做到 RPO=0,RTO<30 秒,這個是我們對于數(shù)據(jù)庫層面上所做一些努力。
此外,對于金融級系統(tǒng)來說,怎么保證數(shù)據(jù)不丟失,業(yè)務不停機。所以螞蟻做了三地五中心多活的架構,在去年 9 月的杭州云棲大會上,我們現(xiàn)場用剪刀,把杭州機房的一臺正在運行的服務器的網(wǎng)線剪斷,整個業(yè)務沒有受到任何影響,完全恢復的時間是 25 秒。
但是除了出了問題能夠快速及時恢復,還不夠,我們都是做軟件的,我們知道軟件沒有銀彈,螞蟻的系統(tǒng)天天在變更,螞蟻去年變更數(shù)量接近 30 萬次,未來 1—2 年之內(nèi)會增長到一百萬次的變更,也就是說每天接近三千多次的更新,而變更是所有軟件出現(xiàn)問題最大的一個點,不變更有可能不會出問題,變更就會出問題。怎么保證系統(tǒng)在變更之后還能保證之前的高可用和容災能力,這就需要技術風險的自我恢復能力。
在這方面,螞蟻內(nèi)部做了一套技術風險體系叫 TRaaS,它在高可用和資金安全風險方法能力的基礎上,可以做到五分鐘發(fā)現(xiàn)、五分鐘恢復,這個是基礎。另外一點則是主動的發(fā)現(xiàn)故障的能力,因為有時候出了問題才知道這個地方是問題了,不出問題覺得這個架構是非常完美的。所以,螞蟻通過紅藍對抗,每天都在不斷主動發(fā)現(xiàn)故障,這個就是技術風險的防范體系,也叫螞蟻的免疫系統(tǒng)。
即便總是問自己現(xiàn)在的系統(tǒng)架構是否是一個完美的架構,我們發(fā)現(xiàn)還有很多地方?jīng)]有做好,因為從應用研發(fā)的角度來看,它們還是需要考慮太多的東西,比如容災,一致性,sharding 很多金融級要考慮的問題,我們期望于業(yè)務不需要考慮金融級能力相關的事情,就可以享受到金融級應用相關的能力。所以從去年開始,螞蟻開始把相應的系統(tǒng)做 Mesh 化改造,之所以今天我們能提 Mesh 的概念,是因為為我們之前做了很多前置的準備,分布式中間件、數(shù)據(jù)庫、容災,技術風險等等,只有這些準備好以后,才能通過 Mesh 化把金融級的能力沉淀到基礎設施,這樣業(yè)務才能更簡單。
未來,金融級分布式系統(tǒng),最終將走向云原生化,現(xiàn)有的中間件能力將通過 Service Mesh 形式下沉至基礎設施,安全可信的執(zhí)行環(huán)境是金融級系統(tǒng)的底線,安全容器將成為金融行業(yè)的強需求。
從這個判斷出發(fā),螞蟻組建了專門的安全容器技術團隊,并且邀請了 Kata 安全容器技術創(chuàng)始人等一些頂級貢獻者加入螞蟻,一起來打造面向下一代的金融級安全容器技術?,F(xiàn)在,托管于 OpenStack 基金會的 Kata Containers 項目,已經(jīng)成為 OpenStack 基金會旗下的首個頂級開源基礎設施項目項目。螞蟻會持續(xù)關注并積極參與最前沿的安全容器技術,會先在內(nèi)部場景驗證這個技術,然后開放出來更好地服務整個社區(qū)。接下來,開發(fā)者可以享受到阿里集團、螞蟻金服對 Kata 技術的改進和貢獻,并將各項改進和優(yōu)化貢獻給 Kata 社區(qū)。
在這條金融級云原生的演進之路上,會發(fā)生端到端的變革。在可信計算方面,要從硬件到軟件,都是可信的,不僅運行環(huán)境是可信的,數(shù)據(jù)也需要是加密的,這就需要對原有的操作系統(tǒng)做很多優(yōu)化;另一方面,Mesh化也需要系統(tǒng)層做很多的優(yōu)化。今天我們在系統(tǒng)層方面看到,很多系統(tǒng)層面的技術成熟后都在向硬件沉淀,而在應用層的很多中間件邏輯,也在逐漸向系統(tǒng)層沉淀,而很多系統(tǒng)級的工作又有通過bypass kernel來提高特定場景下的性能的趨勢,這些軟件技術不斷發(fā)展的結果,最終支持著高效可信的金融級云原生架構,讓應用層的事情做起來前所未有的簡單。但在這簡單的背后,醞釀的是對今天的計算體系架構的重大的變動。
總結來看,交易支付的理想架構這包括分布式中間件、分布式數(shù)據(jù)庫、技術風險防控體系、安全可信的容器基礎設施、以及Service Mesh。以此來保證金融業(yè)務開發(fā)非常簡單,業(yè)務只需要關注自己的事情,其他都交給金融級云原生基礎設施來完成。
解決了 OLTP 的問題,我們在數(shù)字金融發(fā)展過程中還有一個非常大的問題要解決,那就是數(shù)據(jù)智能問題,背后是數(shù)據(jù)計算和 AI 的問題。
對于螞蟻技術來說,金融級的數(shù)據(jù)智能怎么去做?我們首先回顧一下對于大數(shù)據(jù)支撐業(yè)務發(fā)展的基本要求。首先是要解決 PB 級數(shù)據(jù)量的計算問題,所以有了 MapReduce 或 RDD 的方式,對于螞蟻來說是用的內(nèi)部研發(fā)的 MaxCompute,開源的有 Hadoop、Spark 這樣的技術;同時我們也對數(shù)據(jù)計算時效性開始有需求,開始需要 Streaming 計算,相應的技術有 Flink,Storm 等技術,我相信很多公司用這樣的技術解決類似的問題;對于金融業(yè)務來看對圖計算的需求是基本需求,比如怎么解決反套現(xiàn)的關系網(wǎng)絡問題,怎么解決內(nèi)部知識圖譜的問題等等,這些都需要通過圖計算來解決,螞蟻內(nèi)部一直在使用自研的 GeaBase 來解決圖計算的問題,同時在 Graph 領域開源的技術也有很多,像 Neo4j 或 TigerGraph 等產(chǎn)品。
最后業(yè)務還有交互式快速查詢的需求,就有了 OLAP/MPP 技術,今天這個架構非常多,我們內(nèi)部用自研的 ADS 和 Explorer 來解決問題,開源的有 Impala、Drill、Presto 這樣的產(chǎn)品;不同的計算需求還有很多,這里就不一一列舉,但是我相信大家都在用自己的方式去解決大數(shù)據(jù)計算的問題。
但是計算的多樣性滿足了業(yè)務需求,也帶來了一些的問題。比如,不同計算類型都有不同的研發(fā)框架和語言類型,帶來的研發(fā)效率問題;多種計算類型帶來多樣存儲需求,往往需要額外的存儲,帶來成本問題;金融需要不同的容災和數(shù)據(jù)治理的要求,帶來架構落地復雜度問題。
所以我們希望的計算架構是開放的。依靠一套引擎打天下是完全不可能的,必須要更為開放的技術架構。
首先,要有一個統(tǒng)一的存儲層,在這層去統(tǒng)一存儲的規(guī)范和標準,建立統(tǒng)一的虛擬表機制,屏蔽底層的存儲的多樣性,保證可以支持各種計算的需求;
其次,對于計算引擎層,我們需要能夠支持多種計算引擎,并且讓這些引擎做到可插拔,并且通過 SPI 方式,實現(xiàn)元數(shù)據(jù)接入,容災,安全合規(guī)的標準化問題。
再者,期望有一套標準化的 SQL 層,因為 SQL 是現(xiàn)在所有引擎的接口標準,我們也期望提供一個統(tǒng)一的數(shù)據(jù)訪問層來解決研發(fā)界面統(tǒng)一的問題,而且是希望數(shù)據(jù)科學家,運營人員也能夠使用;
最后,是提供一個一站式數(shù)據(jù)智能研發(fā)平臺,來解決數(shù)據(jù)應用的高效研發(fā)和規(guī)范問題。這個事情我們做了兩年,去年已經(jīng)驗證了這個事情已經(jīng)在多個場景進行落地,大大降低了研發(fā)成本,結合資產(chǎn)的治理,以前需要上萬行代碼的數(shù)據(jù)應用,現(xiàn)在只需要上百行代碼就可以解決了。
開放計算架構解決了計算的復雜度,研發(fā)效率,成本的問題,但還不夠。每個場景都會有自己的特點,需要特性化的計算引擎。舉一個花唄反套現(xiàn)的例子,這是一個很簡單、很正常金融的問題,而背后需要做什么事情?因為要做實時反套現(xiàn),是要做特征實時計算的,而特征計算的時候發(fā)現(xiàn)可疑賬號,要往下看與這個賬號有關系的賬號資金處理情況,這個時候又要用到圖計算的能力。對于計算的實現(xiàn),大家可能會想到我首先要用到實時計算,然后如果需要圖計算再轉(zhuǎn)移到圖計算引擎;但是這種計算的遷移轉(zhuǎn)換會帶來延時性問題,不能在秒級解決問題,而且切換的成本代價比較大,所以針對這種類似的場景我們設計了融合計算這樣的框架。
這個框架是一個通用計算框架,底層采用的是一種動態(tài)圖的元計算架構,在這個元計算架構上你既可實現(xiàn) Streaming,也可以很高效地實現(xiàn)圖計算,甚至機器學習也可以做,花唄反套現(xiàn)的圖計算是需要實時更新的,所以基于動態(tài)圖的元計算引擎可以很好支持這種場景。為了更好地解決多樣化的計算,如流、圖、機器學習經(jīng)常并存于業(yè)務場景中這個問題,螞蟻金服聯(lián)合 UC Berkeley 大學推進的新一代計算引擎 Ray,著力于打造一個多模,融合的金融級計算引擎,幫助業(yè)務以簡單的函數(shù)式編程實現(xiàn)多樣化的分布式計算功能。在這樣的融合計算架構下,可以秒級地完成在百億級大圖上下鉆到接近 10 度鄰居,遠遠超出普通的流式計算或者圖計算引擎,擴展了業(yè)務的能力邊界。
而融合計算也是開放計算架構中的一種引擎,我們可以通過智能 SQL 網(wǎng)關進行引擎層的動態(tài)適配。
當然我們對于 AI 來看,也可把很多機器學習框架,TensorFlow 等融合進來,而為了簡化機器學習的研發(fā),我們對智能 SQL 層進行了擴展,這個就是 SQLFlow,一種面向 AI 研發(fā)的簡單的語言。
今天,機器學習工具 SQLFlow 已經(jīng)正式開源。SQLFlow 抽象出端到端從數(shù)據(jù)到模型的研發(fā)過程,配合底層的引擎及自動優(yōu)化,螞蟻希望讓人工智能應用像 SQL 一樣簡單。
金融級數(shù)據(jù)智能未來的趨勢是 Big Data Base,我們需要開放式的計算架構,從統(tǒng)一存儲規(guī)范,可插拔的引擎組件,融合計算引擎,到統(tǒng)一的智能 SQL,數(shù)據(jù)處理與人工智能系統(tǒng)將會進一步融合,最終形成開放智能計算架構的最佳實踐。
2009 年,UC Berkeley 大學發(fā)表了一篇論文,開啟了云計算新的浪潮。事實上,這些年很多云計算相關的業(yè)務,技術都是對那篇論文的最佳實踐。最近,UC Berkeley 發(fā)了這個系列另外一篇,關于云計算下一步未來的發(fā)展是什么,今天講的金融級云原生,云原生架構都是其中的內(nèi)容。而背后所有的事情則是計算機體系架構在未來的幾年會有比較重大的變化。
今天為什么講這個事情?因為在計算機體系架構進化中,人才是促使進化的關鍵點。
有一個事情對我有很大觸動。我聽別人說:Google 為了做好 TPU 的性能優(yōu)化,從全公司能夠緊急調(diào)集幾十個做編譯器的人才,而且這個還不是全部編譯器人才,聽說只是挑選了一些。今天,國內(nèi)到底哪家公司能夠拿出幾十個這樣的人才?我相信是很少的。而今天中國整個軟件業(yè)的發(fā)展,一定是非常需要計算機體系架構方面的人才,尤其是編譯器,操作系統(tǒng),硬件方面的人才,軟件領域每一次重大變化都會帶來一次重構和抽象,這個都會需要具備這樣素質(zhì)的人才。
所以我覺得人才是非常非常關鍵的,只有找到這些人才,才能把這些事情好,才能做一些大的變化,才能對未來的不確定性做一些準備。在螞蟻金服內(nèi)部有著一個叫“BASIC College”的技術培養(yǎng)體系,BASIC 一方面對應著 Blockchain (區(qū)塊鏈)、Artificial Intelligence(人工智能)、Security(安全)、 IoT(物聯(lián)網(wǎng))和 Cloud Computing(云計算)五大領域,另一方面代表我們始終專注于金融科技的本質(zhì)——計算機基礎技術能力的提升。
因此,螞蟻金服的“BASIC College”主要圍繞熱門或前沿的領域,做有針對性的培訓,比如 AI 課程等;同時,課程還會涉及到螞蟻歷史上的重要技術方向決策。另外,我們除了有內(nèi)部的講師團,還邀請外部的專家、學者進行技術的分享與交流。我們認為,只有整個技術氛圍是開放的才可能真正把技術這件事做到極致。
螞蟻金服擁有非常大的場景,每個技術人都有足夠的空間在這個平臺上施展自己的抱負。我所講到的所有技術都是背后這張圖里面的這群人做的,他們開發(fā)了數(shù)據(jù)庫,研發(fā)了風控系統(tǒng),設計了計算架構,包括融合計算等等很多東西。其實我是這群人里面技術最弱的。
閱讀原文
本文來自云棲社區(qū)合作伙伴“阿里技術”,如需轉(zhuǎn)載請聯(lián)系原作者。
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/11484.html
摘要:阿里妹導讀近日,螞蟻金服副胡喜應邀做了螞蟻金服十五年技術架構演進之路的演講,分享螞蟻金服對金融科技未來的判斷,并首次對外公開螞蟻金服技術人才培訓體系以及項目。 showImg(https://segmentfault.com/img/remote/1460000019158592); 阿里妹導讀:近日,螞蟻金服副CTO 胡喜應邀做了《螞蟻金服十五年技術架構演進之路》的演講,分享螞蟻金...
摘要:極簡爬蟲攻防戰(zhàn)紀要爬蟲是構建搜索引擎的基礎負責抓取網(wǎng)頁信息并對網(wǎng)頁識別分類及過濾。爬蟲方終于鎖定了第一場戰(zhàn)役的勝局由于斷崖式技術的出現(xiàn),反爬方在瀏覽器識別戰(zhàn)役上望風披靡。經(jīng)過反爬方的精心運作,逐漸有效削弱了敵方的攻勢。 極簡爬蟲攻防戰(zhàn)紀要 ? ??爬蟲是構建搜索引擎的基礎, 負責抓取網(wǎng)頁信息并對網(wǎng)頁識別、分類及過濾。我們熟識的電商、搜索、新聞及各大門戶網(wǎng)站都有強大的爬蟲集群在每...
閱讀 2878·2023-04-25 22:51
閱讀 2247·2021-10-11 10:58
閱讀 3383·2019-08-30 10:49
閱讀 1943·2019-08-29 17:09
閱讀 3191·2019-08-29 10:55
閱讀 903·2019-08-26 10:34
閱讀 3622·2019-08-23 17:54
閱讀 1044·2019-08-23 16:06