“元戎”緣起:理想照進(jìn)現(xiàn)實(shí)
“元戎”作為華為云Serverless的內(nèi)核。華為“元戎”研發(fā)團(tuán)隊(duì)中的一名骨干專家,在閑暇時(shí)翻閱唐詩,柳宗元《劍門銘》中的一句——“鼖鼓一振,元戎啟行”,觸動(dòng)了他的神經(jīng)?!霸保笠?;“戎”,戎車也。其寓意和氣勢,感覺與華為在Serverless上的布局謀篇十分匹配,元戎即“大兵車”,其寓意為分布式并行系統(tǒng)“大軍出行”,打造新時(shí)代的Serverless架構(gòu)與技術(shù)。
時(shí)光追溯到2017年,在一次技術(shù)討論中,有人向2012實(shí)驗(yàn)室分布式與并行軟件Lab主任譚焜博士提到,在美國硅谷,F(xiàn)aaS(Function as a Service,函數(shù)即服務(wù))挺火的,但在國內(nèi)鮮少有人提及?!拔覀儙讉€(gè)人一碰,感覺FaaS確實(shí)挺有意思,于是組織了一個(gè)五六個(gè)人的小團(tuán)隊(duì)開始調(diào)查和研究。”譚焜博士回憶說。
在華為,新技術(shù)的研發(fā)往往會(huì)有一個(gè)內(nèi)部“碰撞”的過程,比如2012實(shí)驗(yàn)室和某個(gè)業(yè)務(wù)部門都發(fā)現(xiàn)了一個(gè)值得研發(fā)的新方向后,可以“八仙過海,各顯神通”,組織自己的力量和資源先期進(jìn)行研發(fā),最終經(jīng)過深度的碰撞和協(xié)作,進(jìn)行更深入的研發(fā),最終轉(zhuǎn)化為成熟的產(chǎn)品。
“從‘元戎’的研發(fā)過程來看,我們不僅和自己的領(lǐng)導(dǎo)碰撞,還和產(chǎn)品線碰撞。但這種碰撞是正向而積極的,讓我們不斷迎接并沖破挑戰(zhàn)?!弊T焜博士解釋說,“所謂的挑戰(zhàn),就是不同的部門,站在自己的角度提出問題甚至是質(zhì)疑,我們則要不斷為這些問題找到正確的答案。這個(gè)過程促進(jìn)了我們團(tuán)隊(duì)的思考,不斷調(diào)整和修正思路,最終找到問題的癥結(jié)所在,并解決它。經(jīng)過反復(fù)的碰撞以后,我們對(duì)Serverless的認(rèn)知和洞察也越來越深刻?!?/span>
“元戎”最開始時(shí)還不叫“元戎”,它就是被簡單地稱為FaaS。從功能來看,F(xiàn)aaS就是一個(gè)更細(xì)?;馁Y源虛擬化過程。其實(shí),云計(jì)算本身就是資源虛擬化的過程,從虛機(jī)到容器、再到FaaS,只不過現(xiàn)在可以把內(nèi)核、內(nèi)存搞得更加細(xì)致,用一個(gè)比容器更小的資源——“函數(shù)”來實(shí)現(xiàn),并且它還是獨(dú)立的。
燈不拔不亮,理不辯不明。琢磨透了FaaS的內(nèi)涵,Serverless的未來遠(yuǎn)遠(yuǎn)不止眼前的這些“熱鬧”?!叭绻言瓶闯梢慌_(tái)計(jì)算機(jī),讓它真正運(yùn)行起來,就需要一個(gè)操作系統(tǒng)。但現(xiàn)在市場上的很多云操作系統(tǒng)并不是完全意義上的操作系統(tǒng)。對(duì)比Linux所做的將資源管理起來、實(shí)現(xiàn)資源虛擬化和提供一些基礎(chǔ)服務(wù),讓程序更容易編寫和運(yùn)行,現(xiàn)在的云操作系統(tǒng)還稍微欠缺一點(diǎn)。”這讓譚焜博士和他的團(tuán)隊(duì)找到了努力的方向,“如果將功能進(jìn)一步擴(kuò)展,就可以做到為程序員提供更加容易的編程和運(yùn)行方式。在此基礎(chǔ)上,未來面向云的編程范式,是把云的基礎(chǔ)設(shè)施看作單臺(tái)機(jī)器,把函數(shù)看作進(jìn)程或者線程,把狀態(tài)看作私有內(nèi)存,把數(shù)據(jù)抽象看作共享內(nèi)存,把數(shù)據(jù)流看作文件系統(tǒng)——這就是分布式內(nèi)核‘元戎’的核心思想,開發(fā)者就可以基于元戎快速開發(fā)分布式程序了?!?/span>
隨著研發(fā)的深入,從內(nèi)核的研發(fā)到應(yīng)用場景的挖掘,再到實(shí)際的客戶應(yīng)用,譚焜博士和他的團(tuán)隊(duì)的思路越來越清晰?!霸帧弊钪匾囊饬x在于,作為分布式內(nèi)核,它包含了計(jì)算、數(shù)據(jù)、網(wǎng)絡(luò)三大抽象能力,以函數(shù)細(xì)粒度作為計(jì)算單元的抽象,通過數(shù)據(jù)系統(tǒng)提供KV、緩存、一致性狀態(tài)、數(shù)據(jù)抽象和數(shù)據(jù)流的處理,并以高速的網(wǎng)絡(luò)通信來降低分布式系統(tǒng)間的通信時(shí)延。從這個(gè)意義上說,“元戎”不僅僅是FaaS,而是一個(gè)通用運(yùn)行環(huán)境和編程框架,或稱之為通用Serverless。
Berkeley大學(xué)的David Patterson(圖靈獎(jiǎng)得主)和Ion Stoica(伯克利AMPLab主任,Spark共同創(chuàng)始人)曾經(jīng)在《Communications of the ACM 》上發(fā)表文章《What Serverless Computing Is and Should Become: The Next Phase of Cloud Computing》,提出了General-purpose serverless的概念,這跟元戎的設(shè)計(jì)理念不謀而合。
“我們的思路與現(xiàn)在學(xué)術(shù)界的思潮是一致的,特別是Berkeley的幾篇論文讓我們產(chǎn)生了很多共鳴。我們也引用了論文中提到的‘通用Serverless’這一說法。所謂通用Serverless,應(yīng)該是可以支持有狀態(tài)的、程序能夠自動(dòng)并行的、可以在多云執(zhí)行的,能夠讓所有的應(yīng)用都可以基于通用Serverless開發(fā)。另外通用Serverless還要思考一個(gè)重要問題,就是如何能夠?qū)⒃浦蟹植际?、大?guī)模的異構(gòu)資源更好地利用起來,幫助企業(yè)解決更多的計(jì)算問題。這也是我們未來努力的方向?!弊T焜博士表示。
從最初模糊的想法,到今天做成兼具廣度和深度的Serverless框架,華為2012實(shí)驗(yàn)室及華為云研發(fā)團(tuán)隊(duì)刻苦鉆研和堅(jiān)持,憑借不拘泥于傳統(tǒng)的創(chuàng)新精神,才讓理想最終照進(jìn)了現(xiàn)實(shí)。
“元戎”進(jìn)階:在正確的方向上穩(wěn)步前行
眾所周知,華為2012實(shí)驗(yàn)室是華為諸多“黑科技”的誕生之地。譚焜博士負(fù)責(zé)的華為2012分布式與并行軟件實(shí)驗(yàn)室,集中了華為所有與分布式系統(tǒng)相關(guān)的研發(fā)工作,所以這里是個(gè)名副其實(shí)的“聚寶盆”。
說它是“聚寶盆”,除了技術(shù)多元化、創(chuàng)新迭代速度快以外,還因?yàn)檫@里的“博士濃度”最高,即博士占比在整個(gè)研發(fā)團(tuán)隊(duì)中最高,“五星人才”也最多。實(shí)驗(yàn)室下轄5個(gè)不同研究方向的實(shí)驗(yàn)室,每個(gè)方向都擁有一批在學(xué)術(shù)界、工業(yè)界有一定影響力的專家。
匯集諸多專家之力,“元戎”一步一個(gè)腳印,穩(wěn)步前行。
隨著整個(gè)業(yè)界對(duì)Serverless的關(guān)注度持續(xù)走高,Serverless的應(yīng)用實(shí)踐逐漸落地,“元戎”憑借有狀態(tài)、快速冷啟動(dòng)等優(yōu)勢,能夠支撐視頻轉(zhuǎn)碼服務(wù)和一些特效處理,或者OBS中的數(shù)據(jù)處理分析服務(wù),以及金融的大規(guī)模計(jì)算場景等更復(fù)雜更豐富的應(yīng)用場景,引起了華為云Serverless的注意?!霸诔浞盅芯亢陀懻撝?,我們覺得這件事情可做,便投入了更多資源,并與華為云等業(yè)務(wù)部門溝通,結(jié)果一拍即合,將‘元戎’作為華為云Serverless FunctionGraph的內(nèi)核,大家一起把技術(shù)產(chǎn)品化、商業(yè)化?!?譚焜博士介紹說。
華為并沒有像有些廠商那樣出于既得利益的考慮,將Serverless定位為整個(gè)云基礎(chǔ)架構(gòu)中的一個(gè)補(bǔ)充。因?yàn)槿绻駨倪@一定位,我們可能也就看不到今天的“元戎”了?!皬目蛻粜枨蠛图夹g(shù)方案的角度出發(fā),解決客戶的上云問題,將 云原生 技術(shù)用好。很顯然,Serverless就是解決之道,而且是主流?!弊T焜博士如是說。
華為云FunctionGraph 函數(shù)計(jì)算服務(wù),是基于元戎內(nèi)核,內(nèi)置數(shù)據(jù)系統(tǒng),業(yè)內(nèi)首個(gè)支持有狀態(tài)函數(shù)。相比無狀態(tài)函數(shù),F(xiàn)unctionGraph 有狀態(tài)函數(shù)能夠直接訪問數(shù)據(jù),將讀寫時(shí)延降低10 倍,極大地拓展了Serverless 的應(yīng)用范圍。
例如,某社區(qū)媒體平臺(tái)客戶需要開發(fā)一個(gè)安全監(jiān)控的增值業(yè)務(wù),對(duì)電動(dòng)車進(jìn)入電梯等事件發(fā)出報(bào)警,防范潛在危險(xiǎn)??蛻舭惭b在電梯內(nèi)的攝像頭會(huì)定時(shí)上傳圖片,存儲(chǔ)在 對(duì)象存儲(chǔ)服務(wù) OBS上,識(shí)別電動(dòng)車進(jìn)入電梯等安全問題的AI推理模型部署在華為云一站式 AI開發(fā)平臺(tái) ModelArts上,而預(yù)警等業(yè)務(wù)平臺(tái)則部署在本地,如何串聯(lián)這些服務(wù)快速上線業(yè)務(wù),并能隨業(yè)務(wù)量的增加方便的擴(kuò)展是客戶面臨的最大問題?;贔unctionGraph做服務(wù)間集成串聯(lián),客戶兩個(gè)月就完成了業(yè)務(wù)邏輯的開發(fā),且FunctionGraph毫秒級(jí)自動(dòng)彈性的能力,保證了每天過億次的請(qǐng)求下依然能平穩(wěn)處理業(yè)務(wù)。
另外,在金融領(lǐng)域,傳統(tǒng)金融分析師經(jīng)常要通過Excel表格或者Python科學(xué)計(jì)算庫來做風(fēng)險(xiǎn)、量化投資評(píng)估,隨著計(jì)算數(shù)據(jù)量越來越大,無法快速獲得計(jì)算結(jié)果,往往要到第二天才能出結(jié)果,無法做到實(shí)時(shí)評(píng)估,從而可能帶來投資損失?;凇霸帧眱?nèi)核提供的能力,金融分析師只要在代碼中加一些裝飾器,就可以將原來單機(jī)計(jì)算任務(wù)自動(dòng)轉(zhuǎn)化成函數(shù)執(zhí)行,實(shí)現(xiàn)單機(jī)程序自動(dòng)并行到集群上運(yùn)行,帶來幾個(gè)數(shù)量級(jí)的性能提升。既享受到云上算力優(yōu)勢,又享受到Serverless體驗(yàn)。
不止是以上這些場景,在“元戎”的加持下,華為云FunctionGraph函數(shù)計(jì)算服務(wù)能夠廣泛適用于多種應(yīng)用場景,包括 大數(shù)據(jù) 、流處理、機(jī)器學(xué)習(xí)、金融、求解器、在線游戲等等。
匠心之作:每一份付出都會(huì)有回報(bào)
“元戎”是幸運(yùn)的,不僅生存了下來,而且成了華為云Serverless真正意義上的內(nèi)核?!霸帧背鍪拦倘蛔屓藗涓姓駣^,但其研發(fā)過程的艱辛卻難以想象,甚至是有些“折磨”,比如版本的聯(lián)調(diào)工作經(jīng)常要熬通宵。即使是這樣,開發(fā)人員卻苦中作樂,把研發(fā)工作看成是又一次“閉關(guān)修煉”。譚焜博士介紹說,在大約3個(gè)月的時(shí)間內(nèi),從TDT經(jīng)理到項(xiàng)目經(jīng)理,再到首席架構(gòu)師,全部嚴(yán)陣以待,不斷調(diào)試、磨合、適配。大強(qiáng)度的工作使得開發(fā)人員非常疲勞,所以,每到周末,大家也會(huì)自發(fā)搞些體育鍛煉和活動(dòng),放松一下緊繃的神經(jīng)。
現(xiàn)在看來,華為云FunctionGraph函數(shù)計(jì)算服務(wù)的成功發(fā)布,就是對(duì)整個(gè)研發(fā)團(tuán)隊(duì)最大的獎(jiǎng)賞,一切付出都值得?!拔曳浅8兄x我的團(tuán)隊(duì)?!弊T焜博士不禁感慨,“雖然研發(fā)過程比較痛苦,尤其是經(jīng)歷挫折甚至失敗的時(shí)候。在這種情況下,團(tuán)隊(duì)的堅(jiān)持就顯得非常重要?!?/span>
譚焜博士負(fù)責(zé)的2012實(shí)驗(yàn)室“元戎”研發(fā)團(tuán)隊(duì)與華為云的研發(fā)團(tuán)隊(duì)相結(jié)合,共同致力于華為云Serverless的研發(fā),整個(gè)團(tuán)隊(duì)的規(guī)模已經(jīng)達(dá)到上百人,成為華為云Serverless騰飛的重要基石。
華為云Serverless的進(jìn)階之路與華為云提出的分布式云原生戰(zhàn)略是非常契合的,都著重強(qiáng)調(diào)分布式資源整合以及面向未來的編程抽象的聚合。正如譚焜博士所說,Serverless將是微服務(wù)的“封頂之作”,也是推動(dòng)應(yīng)用現(xiàn)代化的基石。是華為人善于發(fā)現(xiàn)的眼睛、不畏艱難的攻關(guān),以及持之以恒的信念和堅(jiān)持,才奉上了“元戎”這一匠心之作。