近兩年,國內(nèi)關于操作系統(tǒng)的話題逐漸多了起來,不過對于很多應屆生來說,操作系統(tǒng)研發(fā)的門檻太高,令人望而生畏。即使知道行業(yè)急缺相關技術人才,崗位高薪,待遇優(yōu)厚,大部分人還是不敢貿(mào)然嘗試。
操作系統(tǒng)研發(fā)真的是不適合萌新應屆生的領域嗎?對于這個問題,在企業(yè)中進行相關研發(fā)的人又怎么看呢?我們找到了在螞蟻金服進行系統(tǒng)軟件研發(fā)的資深技術專家秦承剛,來看看他的看法。
從一篇論文說起
秦承剛研發(fā)的操作系統(tǒng)是應用在云計算上面的。隨著螞蟻金服全面轉型云原生架構,為了在新的架構下保障應用性能和數(shù)據(jù)安全,應對云原生架構下的新挑戰(zhàn),必須在系統(tǒng)層面進行深入挖掘。
談起應屆生是否適合操作系統(tǒng)研發(fā),他提到最近剛好有這樣一件事。
在計算機界有一個編程語言和操作系統(tǒng)的頂級學術會議ASPLOS,原定于今年3月16-20日在歐洲舉辦,由于疫情,改成在線上舉行。
去年,螞蟻金服首次參與該大會,就有兩篇論文入選,其中一篇正是秦承剛團隊所操刀的。
這篇論文有兩個共同第一作者,一名是團隊的應屆實習生余天依,另一名則是上海交通大學軟件學院的研究生。
這篇論文的主題是近兩年開始火熱的Serverless技術的啟動速度問題,這個問題一直困擾業(yè)界,是Serverless遲遲難以在生產(chǎn)環(huán)境大規(guī)模應用的原因之一,而團隊成功將Serverless冷啟動的時間降低到亞毫秒級別,其中的關鍵技術就是輕量級操作系統(tǒng)。
原來,這原本是秦承剛團隊的一個技術預研項目,在18年的時候,云原生已經(jīng)很火熱,但Serverless出現(xiàn)沒多久,不被人們廣泛接受,承剛預判到這項技術未來會有很大的潛力,因此選擇這個方向進行技術攻關。
由于涉及到一些前瞻性的技術,團隊需要科研力量的加入,也就是與高校展開學術合作。余天依本身出自上海交大,通過她在當中作為技術溝通橋梁,團隊順利和上海交大并行與分布式系統(tǒng)研究所搭上線,雙方展開合作。
論文中用到的操作系統(tǒng)是Google于2018年開源的gVisor,論文在操作系統(tǒng)層面優(yōu)化了Serverless場景下的實例啟動時延,能夠在幾毫秒內(nèi)完成操作系統(tǒng)與應用的啟動。
承剛團隊所研發(fā)的輕量級操作系統(tǒng)也是基于gVisor,不過給它做了諸多改進與功能增強,在虛擬化技術網(wǎng)絡協(xié)議棧上做了很多創(chuàng)新。其中很多改進會逐步回饋給開源社區(qū),上述論文就是其中一個例子。
應屆生如何參與系統(tǒng)研發(fā)
上面的論文只是承剛團隊工作的冰山一角,他們所研發(fā)的系統(tǒng)軟件是螞蟻金服可信原生技術拼圖的重要一塊。
所謂可信原生技術,是在社區(qū)的云原生技術基礎上,實現(xiàn)軟硬件全鏈路的安全性,讓整個系統(tǒng)無論從內(nèi)部還是外部都無法被攻破,從而實現(xiàn)可信任。
過去人們討論云原生時,安全問題并沒有受到太多關注。而云原生里的容器,相比虛擬機,更容易引發(fā)安全問題。在云原生中,傳統(tǒng)容器共享同一個CPU等資源,缺乏隔離性,一旦一個容器發(fā)生安全問題,很可能影響到其它容器,甚至入侵整個系統(tǒng)。承剛團隊所研發(fā)的系統(tǒng)軟件,在底層操作系統(tǒng)和容器應用之間添加了一層隔離,從而提升了安全性。
承剛團隊的工作一方面是和操作系統(tǒng)打交道,所以對Linux內(nèi)核的研究會很深入,團隊里有專人參與Linux內(nèi)核開源社區(qū),以及跟進系統(tǒng)軟件相關的學術研究進展;另一方面,團隊需要讓應用在云原生環(huán)境下運行得更好更安全,因此也會涉及到操作系統(tǒng)級別的工程效能、運維交付、安全可信等研發(fā)工作。
正因為最前沿的云原生架構,和最古老的操作系統(tǒng)產(chǎn)生碰撞,所以對研發(fā)帶來了極大的挑戰(zhàn),而且,很多時候有些瓶頸單靠經(jīng)驗難以解決,需要借助學術界的力量,對難題進行攻關,上面的論文正是誕生于這樣的背景。
所以應屆生當然適合操作系統(tǒng)軟件研發(fā),承剛團隊也一直希望有優(yōu)秀的應屆生加入。
承剛希望兩類應屆生的加入,一類就是上面所說的研究型實習生,鉆研前沿技術,尋求技術突破。另一類則是普通的開發(fā)崗位,團隊也需要新鮮血液的注入。
新人加入團隊之后,除了常見的技術培訓之外,還會為每個新人配備一個“師兄”,師兄不僅會負責傳道授業(yè)解惑,還要像兄長一樣,陪伴新人、保護新人,和他們一起共同成長進步。
在工作安排上,不會一上來就給新人安排很難的工作,而是像升級打怪一樣,讓新人從簡單的工作做起,逐漸學習并融入團隊,然后承擔更大的任務。
給應屆生的建議
在今天,系統(tǒng)軟件研發(fā)并不是一個冷門的行業(yè),很多公司都有負責開發(fā)維護系統(tǒng)內(nèi)核,甚至是研發(fā)全新操作系統(tǒng)的崗位,但是市場上系統(tǒng)軟件研發(fā)專家仍然非常稀缺,所以這是一個很有前景的方向。
從另一個角度看,系統(tǒng)軟件研發(fā)的確是一個高門檻的技術領域,因此,對從業(yè)人員的素質(zhì)也有一定的要求。
這里面第一個門檻是需要有熱情,愿意從事系統(tǒng)軟件研發(fā)工作。因為很多時候工程師需要與底層軟硬件打交道,需要深入理解操作系統(tǒng)與處理器的運作原理,這個過程是很枯燥的,如果沒有熱情很難堅持下來。另外,系統(tǒng)軟件和行業(yè)軟件不一樣,行業(yè)軟件在入職一到兩周后就可能會有產(chǎn)出,但系統(tǒng)軟件可能需要更長的周期,這也需要堅持下來的定力。
其次,對應屆生來說,想從事系統(tǒng)軟件研發(fā),需要學好計算機專業(yè)基礎課程,把基本功打扎實,對于計算機硬件、處理器、操作系統(tǒng)、虛擬化等要熟悉它們的功能和原理。另外,需要持續(xù)學習,比如可以自學一些系統(tǒng)軟件相關的論文和書籍,關注最新的學術進展,在這里,承剛也推薦了幾本書籍,讓同學們可以提前了解:
1. 《Computer Architecture: A Quantitative Approach》
2. 《Systems Performance: Enterprise and the Cloud》
3. 《Understanding the Linux Kernel》
4. 《奔跑吧 Linux內(nèi)核》
5. 《系統(tǒng)虛擬化 — 原理與實現(xiàn)》
另外,如果從事這個領域,還需要關注的學術會議包括:OSDI、SOSP、ASPLOS、EuroSys等。
不過,系統(tǒng)軟件研發(fā)并不是高不可攀,高校學生在校期間就可以參與,首先從熟悉Linux系統(tǒng)開始,了解系統(tǒng)原理后,開發(fā)一些小功能,甚至小工具和腳本,也可以提升自己對系統(tǒng)軟件的理解。
這一項的進階版本就是參與系統(tǒng)軟件的開源社區(qū),比如Linux內(nèi)核、gVisor等等,從最基本的翻譯編寫文檔,到參與某項功能模塊的開發(fā),通過這些行動,同學們可以快速的成長。
最后,如果對系統(tǒng)軟件研發(fā)感興趣,想了解如何面試,也可以看看前輩的面試經(jīng)驗,祝大家都能早日找到自己滿意的工作~
歡迎加入可信原生技術部
>職位簡介
部門:螞蟻金服-CTO線-可信原生技術部
地點:杭州,上海
崗位:實習開發(fā)工程師
面向:2020.11 -2021.10 畢業(yè)的本科/研究生
面試形式:通常是電話面試,會提前預約合適的時間哦
簡歷投遞:chenggang.qcg@antfin.com
>Who Are We?
我們團隊承擔了螞蟻金服操作系統(tǒng)的研發(fā)與創(chuàng)新工作。我們致力于將先進的系統(tǒng)技術與螞蟻的金融級業(yè)務場景相結合,不斷在系統(tǒng)領域進行創(chuàng)新與落地。目前,我們的全新操作系統(tǒng)正在逐步服務于螞蟻的核心業(yè)務。我們在協(xié)議棧,文件系統(tǒng),虛擬化等組件上已經(jīng)有了大量的自研產(chǎn)品。并在系統(tǒng)領域的頂會ASPLOS 2020上發(fā)表了論文。同時,我們在軟硬件結合創(chuàng)新上也在持續(xù)深入。歡迎有志于從事系統(tǒng)技術的同學加入我們,共創(chuàng)輝煌。我們希望你了解操作系統(tǒng),虛擬化技術,網(wǎng)絡協(xié)議棧,文件系統(tǒng)等,最好有相關的項目經(jīng)驗。也希望你能夠使用C,Go,Rust等語言熟練編程。更希望你有技術理想,對系統(tǒng)領域保持饑渴的好奇心,能夠迅速學習新技術。
>領域方向
1. 虛擬化方向:從事螞蟻金服高安全輕量化的虛擬化技術研發(fā)。熟悉Intel X86,ARM等處理器的虛擬化技術,熟悉KVM等典型Hypervisor。有虛擬化領域的研發(fā)實踐經(jīng)驗者優(yōu)先。
2. 操作系統(tǒng)研發(fā)方向:從事螞蟻金服安全操作系統(tǒng)內(nèi)核研發(fā)。熟悉Linux內(nèi)核或其他操作系統(tǒng)內(nèi)核。熟悉內(nèi)存管理,文件系統(tǒng),網(wǎng)絡協(xié)議棧,進程調(diào)度等操作系統(tǒng)核心組件。有操作系統(tǒng)研發(fā)經(jīng)驗者優(yōu)先。
3. 系統(tǒng)安全技術方向:熟悉ARM TrustZone,AMD SEV技術,有系統(tǒng)安全技術的相關經(jīng)驗。
4. 系統(tǒng)技術研究:從事系統(tǒng)與安全領域研究的博士研究生,發(fā)表過高水平論文,有扎實的研究成果。
>基礎要求
1. 熟練掌握C、golang、Rust等編程語言,有系統(tǒng)技術研發(fā)經(jīng)驗者優(yōu)先;
2. 扎實的算法及數(shù)據(jù)結構基礎,對軟件工程有良好的理解;
3. 參與過Linux內(nèi)核、gVisor、DPDK等開源社區(qū)者優(yōu)先。
4. 熟悉Intel X86、ARM等處理器技術與原理者優(yōu)先。
5. 有技術熱情、責任感,致力于系統(tǒng)軟件研發(fā)與創(chuàng)新者優(yōu)先。
特別提醒:本網(wǎng)內(nèi)容轉載自其他媒體,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實,對本文以及其中全部或者部分內(nèi)容、文字的真實性、完整性、及時性本站不作任何保證或承諾,并請自行核實相關內(nèi)容。本站不承擔此類作品侵權行為的直接責任及連帶責任。如若本網(wǎng)有任何內(nèi)容侵犯您的權益,請及時聯(lián)系我們,本站將會在24小時內(nèi)處理完畢。