独家专访阿里云存储负责人吴结生:我经历的三个重大决策
深耕基礎二十年
回顧IT技術發展歷史,其每一個時期都有不同的焦點,往回推30年是高性能計算,推20年是搜索,推10年是云計算。先后在中科院計算研究所做超算,在http://ASK.com做搜索,在微軟和阿里云做云存儲的Jason自認為是一個職業選擇上的幸運兒——高性能計算、搜索、云計算這三個關鍵技術的發展,他都未曾缺席。“到后面的話,AI和機器學習可能是另外一個新的技術發展點。”現在的Jason又成為了AI和機器學習的乙方,他所負責的存儲產品,正支撐著大數據分析、AI、機器學習、自動駕駛等新型負載。
Jason在2008年加入微軟Azure團隊,參與了Azure代碼的編寫,包括后續的運維和線上故障排查工作。“因為我不是最早的那一波,所以只能算是參與了Azure從0.2到1的過程,最早的那波2007年就在團隊里了。我覺得那幾年我還是非常幸運的,能夠在早期階段參與到這樣一個大的產品和技術體系的演進中。”
“我記得2012年的時候,我來阿里云這邊面試,王堅院士問我說,你在Azure做了4年,你覺得你最大的成就是什么呢?我當時也沒有怎么想,就說自己最大的成就是讓這個系統變得更加穩定了一些。原來我可能一周要工作7天,每次出去的時候都要帶著電腦一起,有時候可能開車開到半路就得找個星巴克去排查問題。2008年到2011年這種情況很多,到2012年我們系統基本上就穩定了,這種情況就變少了,可以變成(一周工作)說可能是6天或者5天,自己出去要帶上電腦去排查問題的次數變得少一些了。”
“后來據說博士對我這個回答還是很滿意的,說在系統的初期階段確實有很多問題要解決,有很多坑要填。”
然而,拿到Offer的Jason并沒有選擇立即加入阿里云。“因為當時給我Offer的時候,有兩個選擇,一個是回到杭州,另外一個是讓我回到硅谷,阿里云在硅谷有一支研發團隊,想讓我去帶那個團隊。”但他更傾向于留在西雅圖。因此,直到2014年阿里在西雅圖設立了Office,猶豫了兩年的Jason才接過這個橄欖枝,不過,最后讓他做下決定的,還是因為看到了云計算在中國的前景。他認為,相較于芯片、操作系統,云計算是一個很適合中國做并且能做得比較好的技術。
“但是今天我的認識發生了一些改變,其實芯片這個事情我們也可以搞一搞,像操作系統,阿里云也在做自己的操作系統。隨著我們深入到芯片和操作系統領域,其實它可以把全棧站的打通做得更好。”
在阿里云的經歷:三個重大決策和教訓
從2014年到2022年,Jason已經和阿里云走過8年的時間,成為了阿里云存儲負責人。在這個過程中,他參與過許多重要的決策,也獲得了許多經驗和教訓,接下來,他將跟我們分享三個小故事。
- 2015年最重大的決策,派最精英的人去寫SDK
飛天系統如雷貫耳,但2015年的時候,阿里云對象存儲的業務發展并不如意。
“我們都認為自己的分布式系統很牛,我們的飛天操作系統很牛,我們的盤古很牛,我們的產品也就很牛,然后我們就推理出來說,因為我們有很牛的產品,我們的客戶肯定會很喜歡來用。”
但是實際情況并非如此,那么,原因到底是什么?
“我們發現,我們后端是很很牛,但是我們跟客戶交互的那些東西確實做得不好,SDK也不是很好,用戶體驗也就不怎么好。”
“舉個例子,你可能花了一個月時間在后面做了一個優化,讓整個系統的性能提高了50%,但可能就因為SDK里面某一段寫得不那么好的代碼,客戶就有可能是拿不到這50%的(優化)。而我們后端這些做分布式系統的精英程序員體會不到這一點。”
所以,離客戶最近的那一段的路需要非常好,這是阿里云存儲團隊在2015年獲得的最大的一個教訓。“就好像某個人有一個豪宅,但進去的路遍布荊棘的話,其實大家進去的機會也就少了,所以你必須要把這些路給修好,對不對?像我們的SDK,我們的控制臺,這些東西實際上就是這些路。”
痛定思痛,阿里云存儲團隊在年底做出了2015年最大的一個決策——派最精英的人去寫SDK,重點關注控制臺的構建和響應時間,以及NPS,即客戶愿不愿意把購買的產品推薦給其他朋友。“我們把最精英的同學放在那個領域去工作,讓SDK和控制臺真正能夠讓客戶能感受到易用、高性能,然后我們在這些細節方面做得更好,后來我們的業務也就起來了。”
如果你也是一位開發者,還是一位后端同學,這個故事應該對你有所啟發。從全鏈路角度出發,做好每一個細節,才能保證后端的優越能夠被客戶真正享受到。
- 2019年3月,阿里云存儲團隊的至暗時刻
2019年3月份,阿里云存儲團隊內部的至暗時刻。一個月內,阿里云發生了兩起重大故障,一次是塊存儲EBCS在華北2地域可用區C出現了一個重大故障,導致服務中斷幾個小時,造成多個App和網站癱瘓。緊接著一周之后,阿里云對象存儲OSS也發生了一次P1級的故障。
那一時刻,Jason真正地認識到了什么叫“基礎不牢,地動山搖”,一旦基礎設施底座出現了問題,將給上層客戶帶來巨大影響。“我們需要把系統做得更穩定,把我們的服務質量,把我們的快速反應能力,把我們的故障恢復能力提升到新的高度。客戶把身家性命都放到了阿里云上面,我們肯定要通過技術和服務給他提供一個永不宕機的系統,這是我們的責任。”
哪怕是3年后的今天,整個阿里云存儲團隊都對這個月份記憶猶新。他們甚至會反復將這些案例告訴新來的同學,告訴他們,敬畏自己的每一行代碼,每一個操作。
- 20201年,搜索推薦廣告全面上云
如今,阿里巴巴集團業務,尤其是搜索推薦廣告(搜推廣)業務的全面上云,對整個阿里云特別是存儲團隊來說意義十分重大。
當初在做阿里云的時候,王堅院士有一個目標夢想,就是阿里云能支持多個搜索引擎,不僅包括阿里自己的搜索推廣業務,也希望外部的搜索公司也能架構到阿里云上面,這意味著,云平臺需要具備相應的能力去支撐搜索這個技術復雜繁重的業務。“實際上,搜索推廣上云的過程有點曲折,我們從上云到下云再到上云,經過12年的發展才走到這一步,但最后我們在20201年證明這個東西是成立的,而且我們已經全部上云了,所以這也是在整個存儲技術的發展里面非常可喜的一個成就。”
當前存儲面臨的挑戰和有趣的發現
當前的存儲技術已經獲得了長足的發展,但一些技術趨勢會帶來一些新的挑戰,需要通過全鏈路設計和架構的重構解決問題。
首先是穩定性,這一挑戰長期存在。過去,系統的可用性可能3個9就夠了,但如今它已經提高到了4個9、5個9,我們還不僅僅滿足于此,期望能達到更優的穩定性指標。由于新設備的引入,新業務、新負載、新技術的不斷面世,整個系統的架構都在發生著變化,對底層有了更高的要求。比如云原生帶來了快速彈性的拉取,在沒有本地存儲內存加速的情況下,底層將遭到巨大的沖擊。
換句話說,磁盤的物理能力是否能完美支持存儲虛擬化的技術?
“雖然今天的磁盤容量已經變得很大,但如果把性能跟容量相除,你會發現一個有趣的現象,磁盤的單位容量上的性能實際上是在往下降的。”
Jason給我們舉了一個例子:“比如,原來大家可能用的是4T的磁盤,幾年前,它變成了8T,現在它可能是20T。而HDD磁盤的其他維度的指標基本上是恒定的,IOPS大概在120~150左右,帶寬大概在150~200M左右。但磁盤的容量從4T到了20T,已經增加了4倍,但它另外兩個維度的指標都沒有變化,所以你如果把這些性能指標除以容量的話,你就會發現整個曲線是往下走的。”
如果把一塊20T的盤通過資源的復用以及云技術,用多租戶的方式分享給更多的用戶,會發生什么?
“一塊20T的磁盤,我給每個客戶4T,這樣就相當于5個4T的盤,但我每個客戶都希望自己能享受到120~150的IOPS。但實際上這個盤的物理能力沒辦法支撐這樣的存儲虛擬化的1變5的能力的,所以今天對我們來講這是一個很大的技術上的挑戰,我們需要去解決。”
多租戶的情況下還有資源性能隔離的需求,如何做好互不干擾的能力,如何把硬件的能力全部使用出來,如何降低成本,這都是存儲領域的經典問題,只不過在今天這樣大規模的云環境下面,所有的問題都被放大。
阿里云存儲的進化方向
面對以上挑戰,阿里云存儲團隊接下來的發力方向是什么?除了進一步提高系統可用性,Jason透露,他們將面向數據湖、機器學習、AI、自動駕駛、搜索推廣等新型負載進化,一是對外發布一個更高速的基于盤古的分布式文件系統,該系統目前服務于阿里集團內部的搜索推廣業務。二是繼續做好并行文件系統CPFS,其在AI計算和自動駕駛場景都有落地應用。值得一提的是,阿里云自研的分布式存儲系統“盤古”去年入選了世界互聯網領先科技成果。另外,他們還將聯合阿里云其他產品,給客戶提供優質的數據管理和數據治理能力。并且聚焦高性能網絡,自研網卡和磁盤,網絡、磁盤和服務器之間的軟硬一體設計的持續演進。
“其實我們在未來有兩個主戰場,一是向下做深基礎,在芯片磁盤、網絡和服務器設計方面不斷創新,尋找全棧多點技術融合的機會,二是面向用戶做產品設計。舉個例子,阿里云、AWS過往在做EBS產品設計的時候,每一塊盤都給一個固定的性能指標,如果用戶要變更到另一個性能指標,就要進行變配操作,用時長達幾分鐘甚至十幾分鐘,十分影響用戶體驗。因此,阿里云重新設計后推出了ESSD Auto PL,即在設定的底線之上,可以進行無級變速;,也就是說,用戶根據自身的業務需求,可以自由上升和回落,不用再去過多考慮容量資源的調配。這個設計對產品和研發來說是一件極具挑戰的事情,但也印證了阿里云自身的文化主張,把復雜留給自己,把簡單交給別人。”
個人成長漫談
在技術之外,Jason也給我們分享了他自身的一些小故事。
1.談時間管理
由于在西雅圖、硅谷和國內都有團隊,Jason需要頻繁往返于國內和西雅圖之間,疫情之前,Jason每年回來4、5次,每次呆1個月時間,而在疫情之后,頻率就變成了每年回國一次,呆3、4個月。
我們很好奇,在這樣的情況下,Jason這樣的大咖是如何做時間管理,怎樣去高效工作的。Jason表示,自己也是程序員出身,后來才做的管理工作。在做程序員的時候,時間相對連續集中,除了自己寫代碼和調試代碼的時間,最多需要參加一些設計測試,但在做了管理以后,一個最明顯的變化就是會議的增多,有一些必須參加的重要會議。此外,還有一些在日歷上顯示不出來的時間開銷,比如要花更多的時間跟團隊的同學交流,以及跨團隊的溝通。“我現在給自己定了一個小目標,每個月至少要跟5個不是直接向我匯報的同學溝通,這樣的話,你可以了解他們的一些想法,也能了解這個團隊。”
“其實還有一部分可以補充,你要花很多的精力去為團隊或者為整個領域去尋找一些志同道合的人,要花時間去跟他溝通,給他講你們的想法,等待合適的機會,讓他們加入你的團隊。”
2.談壓力
在繁忙的工作中,Jason面臨著許多壓力,最主要的壓力還是來自于怎樣保障系統的穩定性,給客戶提供一個穩定可靠的運行狀態。這一點看起來很簡單,實現起來卻非常難,特別是在超大規模的分布式系統里面。“當系統出現抖動或者小故障,各種不可預測的情況發生,客戶的業務可能受損,我們怎么樣能夠快速恢復系統,對客戶的影響降到最低點。很多時候我們是在跟時間賽跑,這是我當下最大的壓力。”
當談到是否有KPI的時候,Jason說自己的KPI非常簡單——系統沒有P1故障,永遠在線,客戶的數據在阿里云上不丟不錯。
“基礎不牢,地動山搖”,在交談中,Jason多次提到這句話。
3.談解壓
Jason會從身體和心態兩個方面去緩解自己的壓力。平時,他喜歡一些體育運動,比如足球。在西雅圖,他一周會踢兩次,一般都是晚上踢,周五晚上正好是國內的周六凌晨,可以錯開時間。隨著球齡的增長,他在球隊的位置不斷后移,除了守門員,從前鋒到中后衛都踢過。“這一塊能夠讓自己的身體狀態比較好,也可以應付更多壓力,至少你得有一個好的身體去熬夜排查問題。”
在心態上,Jason建議用發展的眼光看待問題,當故障發生的時候,不是第一時間去責備人,而是去優化系統、流程、團隊協作,等等,避免下一次故障的發生。,而后舉一反三,排查其他模塊和系統里是否有類似的漏洞以便改進。Jason曾告訴自己的團隊,“一個強大的產品,或者一個非常強大的系統,它很多時候是隨著故障而成長起來的。”
系統是在犯錯中成長的,人也是。
“但是每一次故障對客戶產生了的影響,我們也是非常心痛的,我們覺得這些事情其實可以做得更好,所以在這樣一個不斷相對螺旋上升的過程中,我們讓整個系統能夠達到我們想要的那種永不停機的狀態,我覺得這種心態還是是對我們緩解壓力還是有幫助的。”
4.談學習
在工作之余,Jason也會給自己安排一些學習時間,關注USENIX、OSDPI、SOSP等頂級會議上發表了哪些Paper,Facebook(現在叫Meta)、Twitter、Amazon和Google等公司發了哪些工程方面的Blog。“InfoQ的很多文章我也看,還有極客時間,我覺得InfoQ還是一個非常好的社區、IT技術交流中心。有時候,我也會去看一些知乎上的問答,我覺得也是非常不錯的。”
從國際性的頂級會議確實中可以找到一些前沿技術趨勢,甚至能看到國家創新的聚焦點。我們也看到了一個積極的現象,目前,國內有許多老師和研究生,包括阿里在內的企業,在這些頂級會議上發表的高水平文章越來越多,這也反映出我國的研究水平的上升。
據了解,阿里連續資助了多屆存儲領域優秀論文的宣講,Jason告訴我們,雖然見效緩慢,但是學術研究絕對是值得長期投入的,因為在很多時候,一種理論的突破才會讓整個行業有更大的發展。達摩院的建設就是阿里在中長期技術研究上的投入,而阿里云存儲團隊本身也在做一些技術預研方面的工作,每年都會與多家高校合作,招收實習生,一方面希望給高校學生提供一個業界真實的工作環境,同時也希望通過一些聯合研究項目,讓高校師生更深入地了解工業界,衡量解決問題的方案。達摩院這樣的機構或者組織越多,對工業界的突破越有利。
5.談成就感
Jason認為,做工程師和做管理,從成就感的程度上看可能差不多,但感受到的方式不太一樣。做工程師的成就感,來自于系統上線且穩定運行,服務了很多客戶。而做管理者,更多是來自于團隊發展,你看到團隊的同學成長起來了。因為負責存儲業務線,他還有一個成就感來自于客戶的反饋,“客戶覺得這個東西很好,我還想推薦給其他人用,我的這種成就感就會更多一些。”
6.談選擇
在談到過往的重大抉擇的時候,Jason告訴我們,自己也有一些迷茫的時刻,但不多。“其實很多時候你就像一個天平里面,只要在哪一邊加一根稻草,就可能把你的迷茫給打破了。”
說到這里,Jason給我們講了自己換工作的故事。他博士畢業后的第一份工作在ASK,Base陽光燦爛的硅谷,如果要去微軟,就要搬到雨水和陰天都很多的西雅圖,所以他有些猶豫。但一想到西雅圖的房價比硅谷的房價要至少低一半,“我找到了一些心理上的平衡。”
7.談目標
在工作上的目標,Jason給自己制定了OKR,其中有一個O是沒有P1故障,以及一些很宏大的目標。“我們有些目標是實打實要完成的,有些目標就是一個牽引。”
Jason坦言,自己的個人目標其實也有一些沒有實現,2021年,他給自己定了一個跑完365邁的目標,但最后大概只跑了100邁。
“我原來說每個月至少要跟5位不是匯報給我的同學溝通,我覺得這個也沒有完成得那么好,大概完成了60~70%,也就是說可能平均下來每個月也就3~4位同學沒到5位。”
團隊發展尤其是海外團隊建設方面的目標,Jason認為也沒有特別達標,一方面是由于疫情影響,一方面是因為當下的技術趨勢,整個海外人才市場競爭非常激烈。
2022年,Jason希望疫情能逐漸結束,爭取多回國一些時間,此外,他也希望多增加一些和家人去休假的時間。
8.談成長
2022年,極客邦的主題是“無限生長”,Jason分別從個人成長、技術成長、非技術成長三個維度來解讀了這個詞。
他認為,不管是在遇到不擅長的事情的時候,能夠主動擔當;,還是從各種各樣的反饋中,拿到有用的東西,讓自己變得更好;,又或是不局限于現有的思路,做產品創新,給客戶帶來更多價值,這都是無限生長。這和阿里內部推崇的“打破邊界”有異曲同工之意。“從合作的角度來看,如果你做了一個東西,你不僅能自己用,還能推廣給別人,讓其他產品或者團隊使用,讓你的模塊或者代碼發揮的價值更大。”
“其實你如果去看那些成熟的技術的發展,整個團隊實際上你都可以認為是在攀不同的高峰,就像我們做ESSDC這樣一款產品,我們是業界第一個提出來做100 us(微秒)延遲個Microsecond的塊存儲團隊,并且還立下了100萬IOPS的目標,2018年,我們發布了ESSDC,我們把這個目標達到了,到目前我們也一直處在性能領先的地位。今年我們又給自己定了一個目標,延遲要做到80,我們還有一款新產品可以做到30。”
這種對技術的追求,也在鼓勵著開發者們打破現狀,做出創新,讓自己跟著業界技術趨勢去成長,把技術目標變成產品,讓產品更加具備競爭力,服務好更多的客戶,無限生長也體現在這里。
非技術方面的成長,則包括如何做項目管理、跟團隊溝通、提高團隊合作能力,將自己變成團隊戰斗力提升的驅動力。“我們在阿里云這邊經常會講一句話,就是要一起拼、一起贏。我覺得我們包括我的團隊,或者包括阿里云的文化,技術文化或者組織文化,其實都跟無限生長非常契合。”
結束語
我們從交談中發現,Jason是一位非常樸素的工程師,正如千千萬萬在基礎軟件領域默默堅守的從業者,他們的努力灌注出一代又一代堅實的底層基礎設施,成為上層業務的強有力支撐,讓企業在數字化轉型浪潮中迎接未知的挑戰。
他的成長經歷也印證了我們的觀點——底層未必不能做到頂層,國產基礎軟件領域大有可為。而長期以來,基礎軟件都是InfoQ重點關注的領域,越深入越能看見國產基礎軟件背后的巨大價值,這也是DIVE全球基礎軟件創新大會誕生的初衷。
原文鏈接
本文為阿里云原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的独家专访阿里云存储负责人吴结生:我经历的三个重大决策的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 联通云的七大“场景云”,能让用户实现云计
- 下一篇: 计算机考数二英一的学硕,21考研调剂新规