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