1. 程式人生 > >阿里雲CDN技術掌舵人文景:相愛相殺一路狂奔的這十年

阿里雲CDN技術掌舵人文景:相愛相殺一路狂奔的這十年

導讀:提到阿里雲CDN,不得不提技術掌舵人姚偉斌(文景),雖然他不是團隊中最“老”的同學,但他卻歷經了淘寶業務發展最為飛速的幾年,見證了從最初服務淘寶和集團內部的CDN,到如今國內服務客戶最多的雲CDN的每一步技術蛻變。在他看來是業務在推動著技術的發展,技術帶動了人的成長,過程中不乏迷茫和低谷,但最終確實是一次次的業務洪峰把CDN技術推向了頂端。

文景,阿里雲CDN技術掌舵人

緣起開源 懷著赤子之心加入阿里

讀書時期的文景是個非常“愛折騰“的學生,經常去女生宿舍幫忙調通網路,也接了很多系統開發的私活專案。在研究生階段接觸到了嵌入式開發、無線感測網路、Linux,底層網路,向服務端開發轉型。

當時比較火的是金融和通訊專業,但是文景對開發就是如痴如醉的喜愛,雖然他的學習成績不算拔尖,但是因為專案的實操歷練經驗豐富,他在畢業時候順利的進入了一家網際網路大廠。也就是在這份工作中,他接觸到了很多服務端開源軟體,如Nginx、Squid、Varnish、Lighthttpd等,也為後續進入阿里奠定了基礎。始終認為開源對拓寬程式設計師的視野和提升程式碼水平非常重要,所以他開發了很多Nginx開源模組,因為不斷的打磨,有一些專案在Github上有上千的星了。回憶當初,技術人員需要一定的價值認同,要麼在業務上厲害,有上千萬的使用者,要麼就是技術價值的認可,你做的東西不僅自己在用,成千上萬的開發者也在用,甚至有國外的開發者會給你寫感謝信,這是非常好的技術認可。

“後來當時的公司業務發展比較慢,遇到了發展瓶頸,而因為自己在開源領域的一些成就,被阿里看中。當時阿里屬於業務早期,我心裡懷疑這公司到底行不行,沒想到面試官竟然是開源領域非常有號召力的“大神”,我當時立刻就決定加入阿里了。有時候程式設計師選擇一份工作不是看業務多強大,而是身為程式設計師的夢想使然。“文景說。

來到阿里後,文景負責Tengine的研發,從一個人單幹,逐漸發展到小團隊,Tengine也成為集團95%以上業務的入口。在阿里節奏很快,業務每年的增長几倍甚至幾十倍,這十年來有三千倍的增長,這過程中也深刻體會到人和公司的成長是同步的。Tengine業務複雜度非常高,支援整個阿里集團的業務。作為一個支撐性的部門,更需要自驅力,主動做好,主動邀請別人來使用,並且在期間主動解決問題讓業務變得更好。

在阿里這麼快節奏的工作環境之下,文景還堅持付出額外的時間來做開源,有一段時間Tengine曾躋身全球前十的WebServer,這也是團隊成員至今都非常自豪的事情。

這十年,雙11和這些程式設計師“相愛相殺”

文景很幸運,加入阿里的第一年他就趕上了雙11。對於當時的淘寶技術人來說,雙11是每年最最重要的事情。“對我們來說,最關鍵的就是在零點那一刻,系統要扛住,降級的措施越少越好“。文景回憶到,當時的技術原則:第一是要對業務有預估,幾千萬人同時併發的QPS是多少,系統能不能支援;第二,要做技術預案,所有依賴系統的容量是多少,一旦出了問題後的應對方案。”經過頭幾年雙11考驗後,系統逐漸具備了在極限的情況下也能正常執行的能力,在高效能、穩定方面有很大提升。到後來,我們技術能力和資源儲備,已經遠超當年秒殺的規模,當前的技術架構已經足以支撐,所有的技術人這才安心了。“

當然,技術的積澱並不是一蹴而就。在這種高強度的業務壓力下,基本上所有的瓶頸都會被文景團隊遇到,記憶體、CPU、IO、網路,來來回回做了很多輪軟體優化和節點架構升級。為了應對峰值壓力,團隊也提前準備業務鎖量、節點壓測、降級預案、採購臨時頻寬等多種措施。在我們的監控和資料還不完善的那個年代,雙11就靠每個人開啟多個終端,盯著一批節點,一旦發現機器負載過高,立馬進行人工干預。

轉眼來到了2012年,文景認為這一年對CDN非常關鍵:“第一,我們決定不再採用外部的商用CDN,因為我們發現淘寶的流量,商用CDN是不足以支撐的。原因是淘寶是中國第一個圖片這麼多的網站,當時的SSD機器還沒有這麼流行,大部分的CDN廠商還在用SATA的機器,遇到資料量激增的時候,它的IOPS跑不起來,節點立刻會掛掉。第二,當大部分CDN廠商都在用千兆機器,淘寶CDN已經在用萬兆機器,我們是中國第一個使用全SSD機器的廠商,並且完成了40G能力的節點上線。當時的技術架構是非常領先的。”

隨後的幾年,隨著CDN能力的增強,雙11扛住了數十倍的業務峰值流量,而且很多業務已經開始使用CDN,比如秒殺、紅包、詳情頁等。後來CDN不僅支援集團內部雙11,也開始服務外部客戶。那幾年的發展可以用一路狂奔來形容,每年都有新的業務產生,比如HTTPS、直播、短視訊等,文景帶領著團隊不僅要做產品商業化、要貼身服務客戶,還要去快速適應並調整面向新業務的技術方案、優化使用者體驗、技術攻堅、節點建設,同時也要對集團和客戶的雙11做全鏈路的保障方案,雙11每年頻寬增速在50%-100%,文景的腳步從未停歇。

跌倒了,爬起來繼續上路狂奔

這一路,文景經歷過高峰,當然也有跌落低谷,他認為2015年對團隊來說意義非凡,因為那一年他們險些背了3.25。當時淘寶上了全站HTTPS,而由於前期壓測、對新業務的評估沒有做到位,全站HTTPS帶來的計算開銷導致CPU、記憶體都開始成為瓶頸。“當雙11開始後,別人都在為資料再創新高而歡呼,我們團隊的工程師卻眼睜睜的看著線上一些節點記憶體被打爆,不停重啟,當時我在客戶現場駐場,真的連死的心都有了。”文景回憶到。

當時的CDN團隊已經到了阿里雲,經常全中國到處跑,深入客戶現場,貼身服務,整個團隊的工作重心不再僅僅是為雙11做方案和保障。“我們從純碎的技術人,變成了需要有商業思維的架構師,用CDN這個產品幫助客戶去解決問題。也正是因為如此,這次的經歷給我們敲響了警鐘,後面每當新業務誕生的時候,我們都做足了充分的預案,堅決避免再次重現,更絕不容許這種情況出現在客戶身上。”

在此之前,文景帶領的CDN團隊已經進入阿里雲,完成了從“甲方”到“乙方”的轉型。“我們還是很偏技術思維的,我們認為只要把自己這塊的技術做好做透,一切就順理成章了。最開始我們在Tengine團隊才不到10個人,是純技術團隊,負責軟體開發。在轉做CDN後,我們要去owner整個系統,考慮的東西更多,系統穩定性是第一優先順序。如今,到了阿里雲,我們需要吃透業務,所有技術人員都要去跑客戶,去了解客戶的需求,研究如何更好的服務他。這對我們來說其實是一個角色的轉變,技術與商業結合的思維轉變。”文景說到。

轉型所帶來的彷徨並不是所有人都能順利度過,一度有很多技術人員抱怨業務做太多了,甚至有人離開。文景做為團隊負責人,責無旁貸要幫助大家去適應。他當時鼓勵工程師們“葷素搭配”自己的工作,要肩負起偏業務性的工作,當然也留出精力去做系統性的純粹開發,這對工程師的發展是非常有好處的。他也不斷地用自己的親身經歷告訴大家,業務,能讓技術人員更好地瞭解產品的設計、提升去場景的理解。阿里全員一直崇尚著“客戶第一”,在文景看來,客戶第一就是真正地瞭解客戶的需求,再把它變成產品,解決更多客戶的問題,而不是你覺得這個產品牛,硬塞給客戶去用。總之,技術牛不牛,要拿商業來證明。

到如今,文景所在的阿里雲CDN團隊已經擁有遍佈全球的2500+節點和120T頻寬能力儲備,同時憑藉全球服務能力和產品技術優勢被評為全球級(Global)服務商,即面向全球五大洲提供圍繞密集商業和消費城市的接入服務。

給年輕技術人一些建議

最後,對於想了解或者想踏入CDN這一領域的技術人員,文景也給出了一些建議。

瞭解行業

CDN這個產品的歷史,比雲端計算還要久,因為網際網路的發展而應運而生的產品。現在,這行業是充分競爭的行業,它已經有成熟的解決方案和開源的軟體,最終決定性產品的核心競爭力就是:穩定性、成本和質量,廠商們都在尋求更好地突破。阿里雲CDN通過歷年雙11沉澱下來的技術和快速響應能力,已經在四年時間內,從零做到了中國最大的雲CDN。未來的CDN行業,會更注重客戶價值,面對客戶關於低成本、服務質量、安全性、高清視訊等不同價值需求點,需要不同場景和技術來滿足。

研究開源,專注,不斷學習

首先,文景認為去選擇優秀的開源軟體是一種好的方式,Github是程式設計師非常好的名片,開源軟體寫的好的人,程式碼、溝通能力、落地能力都不會差。第二,一定要專注,決定了方向後,至少要沉澱3年左右的時間,當你成為這個行業的專家,去任何公司都會發揮很大的價值。第三,要不斷學習,計算機行業日新月異,對於技術人最大的挑戰就是不能停止,要不停去接觸新的東西。每年的業務都是兩三倍的增長,你會發現你原來的技能已經跟不上業務增長的步伐,在網際網路這麼快速發展的環境和阿里發展這麼迅速的公司,不學習就會被淘汰,絕對不能固步自封。

最後,歡迎加入我們! 阿里雲CDN團隊誠招技術人才啦!點此檢視最新職位!

作者:山哥在這裡

原文連結

本文為雲棲社群原創內容,未經