1. 程式人生 > 其它 >從平凡到非凡 阿里雲李克的技術進階之路

從平凡到非凡 阿里雲李克的技術進階之路

簡介:人物簡介:李克 阿里雲邊緣雲端計算領域技術負責人 2009年碩士畢業加入阿里至今,一直從事CDN及邊緣雲領域的技術研發工作,在CDN、邊緣計算等方向上有豐富的行業經驗,全程參與了阿里雲CDN商業化轉型,邊緣雲中臺體系的建設,研究方向包括資料智慧、分散式架構和效能優化、雲端計算等領域。目前主要負責邊緣雲的技術研發以及架構演進。

2014年,李克臨危受命,負責阿里巴巴上市的內部直播專案。

當時整個CDN平臺還沒有直播系統,需要在不超過1個月的時間內,把直播平臺搭建起來。李克基於開源的Nginx Rtmp搭建了具備容災能力的直播系統。由此,阿里巴巴也開啟了CDN的商業化直播產品之路。

次年,阿里雲開始轉戰CDN的對外商業化之路。

CDN轉型的過程中,李克也迎來了人生中的最大挑戰——雲CDN

“當時我們提出了要支撐百萬域名的口號,但平臺還停留在幾千域名的服務能力上,配置也變得更復雜,資料量的劇增……原來系統的很多問題都在此時顯現出來了,很多時候配置無法生效,資料庫也不可用,我清楚地記得,那時候經常半夜三更起來開始恢復資料庫。”在商業化之前,阿里每年的雙十一大促都能順利得到支撐,但隨著商業化的來襲,其業務規模瞬間就上了一大量級,SLA標準也隨之提高,以前服務內部的技術瞬間被“打臉”。

提起那段“不太平”的時光,李克依舊提心吊膽。

一方面,李克和其團隊需要全面擁抱雲端計算,把自己搭建的資料庫、中介軟體等服務,使用阿里雲的標準產品做大量遷移。另一方面,他們還要對原有系統做相關治理,把高併發、分散式、異地容災等一個個概念變為現實,除了提升單個元件能力外,他們還需要在系統的可觀測、可運維行上做大量工作。

“當每天收集分析的資料量超過10PB,就會使得我們的白屏化和自動化也得到大幅度提升。作為技術人員,一定要做好技術的判斷和選擇,聚焦在核心問題上,用最少的投入來獲得最大的收益。”李克堅定地說道。

最終,在李克和其團隊的齊心協力下,2018年,阿里雲做到了真正服務百萬域名,每天支援超過50億次的訊息全球下發,配置秒級生效,從以前的5分鐘提升到了秒級時代,提升效果突飛猛進。客戶在做配置釋出和內容重新整理時,無需等待。同時,CDN使用門檻也大大降低,成為了雲端計算時代的普惠技術。

李克既是萬千普通人中的一份子,又是從小白長成的一位非凡技術大咖。

興趣是最好的老師

李克從小就對計算機“情有獨鍾”。第一次在高中接觸計算機時,當時由於技術有限,無法上網,他只能用office上機練習打字,背五筆和各種快捷鍵……但這些就足以讓他沉迷其中。

後來,每次上機課,他都一直玩到關門才走。也就是此時,研究計算機的想法在他內心深處油然而生。讀大學期間,他擁有了自己人生中的第一臺電腦,這也由此打開了通往計算機和網際網路的大門。

“我對於計算機、網際網路還是比較痴迷的,記得有段時間學習做網站,搗鼓各種bbs和cms原始碼,在網上申請各種免費頂級域名和託管空間等,在大學裡也擔任很長時間校內bbs版主,開始接觸指令碼和linux作業系統,當時很多內外網資源就是自己寫爬蟲獲得的。”李克說,帶著興趣去做事情是最有效的學習捷徑。

積跬步之千里,小白終成技術大咖

“我的職業發展是從點到面,再到點再到面,一個不停迴圈往復的過程。”李克說道。

2009年7月,李克碩士畢業後,順利進入阿里巴巴,加入CDN行業。

“在雲端計算的歷史車輪裡,CDN需要實現轉型,從傳統的服務模式變為雲CDN的模式,將CDN使用門檻降低,使用體驗提升,從而變為一個普惠的技術。所有的技術和行業都不是恆古不變的,要用發展的眼光看待當下的現狀,與其等著被動降維打擊,不如主動創造和擁抱變化。”李克說。

剛開始做CDN時,李克負責監控和配置模組。在談到寫程式時,李克說,做程式設計師寫程式碼有種成就感,特別是當自己的系統和程式碼被很多人使用時,當看到線上每臺機器都有你寫的程式碼時,能給線上運維和客戶帶來極大便利時,尤其在日常使用中,看到自己的想法變為現實……這種歸屬感和解決問題的成就感是非常受用的,同時這也是對程式設計師最大的鼓勵。

時間一晃來到了2019年,隨著業務的發展和時代的變化,為了解決更深層次的問題,李克開始轉型做邊緣雲,這也意味著他從業務平臺到基礎平臺的轉變,代表著需要更紮實和底層的技術,來支撐上層的高樓大廈。

“在CDN摸爬滾打多年後,最大的痛點就是整個資源的利用效率和業務釋出效率等問題都急需解決,而CDN領域卻無法根治這些問題,這就需要調到更高的層次來解決。”就這樣,李克開啟了新的邊緣雲的方向探索。

我希望邊緣雲能做成基礎設施,把我們多年在CDN和邊緣節點上的能力變為通用能力,業務可以像搭積木一樣靈活使用,也能像水電一樣快速安全,用之不盡”,談到這次轉型,李克悠悠地說道。

在見證了CDN的十幾年技術演進過程中,李克爭取在垂直化領域裡做到了最好,同時自己也從小白長成了技術大咖。

以必成之心,創未有之業

起初,CDN 是從內部開始服務淘寶,後來,逐漸變為阿里雲的產品對外商業化。經過十幾年的業務發展,推動了技術的變革,CDN行業發生了翻天覆地的變化。

從最開始基於開源haproxy、squid,逐步演進到更自主可控的Tengine、Swift,節點內的四七層負載均衡架構,優雅的解決了流量不對稱問題,單機上的web軟體和儲存軟體混部高效利用了單機資源,這也已經成為了CDN行業的標準架構。

隨著CDN的體產品系演進的突飛猛進,它從傳統的1.0靜態加速到2.0動態加速,再到安全、視訊、移動等多場景的的CDN加速服務,這其中需要基礎軟體升級和大量的周邊系統支撐,最終李克和團隊沉澱出來了邊緣的中臺技術,能舉一反三的橫向複用。

除了產品形態豐富之外,資源使用方式也逐步進化,節點和機器資源混用到物理隔離,再從物理隔離演進到邏輯隔離,目前CDN已經全面擁抱了雲原生的體系,以容器和服務發現的方式快速部署業務,高效低成本的使用資源,這些發展都是業務規模和效率帶來的必然要求,促使了邊緣技術體系的變革。

通過體系化的建設,在2018年世界盃比賽上,雲CDN做到了無需太多的人值班,基於多年的資料能力,配置釋出,監控工具等,當系統遇到突發問題時,可以快速地進行科學決策,一邊盯屏一遍看世界盃就完成了值班護航。

“世界盃是一場大練兵,可以很好地體現了我們對突發的大流量活動的功底。”李克說。

後來,李克在回憶起採集系統和應用資料時說:“受傳統採集方法限制,無法靈活支援新的埋點和軟體,他第一次萌生通過框架解決擴充套件性問題,隨即他動手寫了Tsar。”利用動態庫的方式,靈活載入採集模組,每個場景只需按照標準寫好採集和展示規則,就能快速的使用Tsar的通用能力,在業務多變、快速發展時,Tsar發揮了巨大的作用。

目前,Tsar系統還是阿里巴巴集團的基礎監控軟體之一,每個伺服器上都有部署使用。

起初,李克設計Tsar開源的初衷是為了幫助遇到同樣困境的人。在此期間,他也收穫了更多志同道合的朋友。“大家一起做同一件事,解決同一個問題,有共同的愛好和興趣。”這種歸屬感讓他特別滿足。

除了成就感和歸屬感之外,還有一種非我模式的歷史責任感。“我覺得這件事情有可能成為現實,而自己剛好在風口浪尖,那就豁出去,幹就完了。包括我在做的邊緣雲端計算,是下一代的邊緣基礎設施,是未來CDN發展的必然趨勢,因此也是值得我all in在這裡面的,就像現在回想做CDN商業化一樣,重新創業,重新啟程的感覺非常新鮮和興奮。”

順勢而為,見證新技術浪潮的來臨

為了解決更深層次的問題,李克開啟了個人轉型——做邊緣雲。就像當年需要雲CDN一樣,如今邊緣雲也是時代的需要。

隨著雲遊戲、視訊監控、5G等邊緣業務發展,逐漸出現了邊緣場景的資源和計算需求。而對邊緣雲來說,使用者需要的是算力、儲存、網路、安全能力互相結合的一個綜合性的服務。

而從CDN和邊緣雲的關係來看,CDN是具體的一個場景的應用,而邊緣雲則是一個底座。

阿里雲希望CDN能跑在邊緣雲上,阿里雲邊緣雲也在不斷升級和改造,在邊緣雲上,提供豐富的元件能力,在此基礎上對CDN業務做出編排,以更好的服務CDN業務。同時,邊緣雲的服務讓CDN可以完成高效的資源複用,讓資源更有彈性。

此外,邊緣雲的應用場景還可以從內部和外部兩個角度去看。其中,內部業務主要是CDN業務,目前已經全面基於邊緣雲體系來構建。而外部業務則更多的是新的業務場景探索,比如在終端上雲、5G等場景下,就需要更快的資料上傳以及指令下達,需要就近處理,邊緣雲優勢就得以凸顯。

例如,在雲遊戲、互動直播場景上,使用者在端上操作,邊緣結點要快速做出快速,以流式的方式傳輸給使用者。同時在一些垂直化的行業中,如智慧交通、智慧醫療、工業製造等場景是具有區域性特徵的:所有的節點都處於一個區縣或者地域中,資料是一個本地化的產生與消費。所以,同樣需要邊緣雲的儲存技術來支撐業務場景。

未來5年,邊緣雲會朝著廣覆蓋、低延遲、互聯互通的方向發展,廣覆蓋指的是節點更靠近客戶,節點數量會到達百萬規模,低延遲是提供<10ms的網路延遲,互聯互通是能夠將所有的邊緣雲節點形成一張網,一個資源池,統一的對外提供資源以及業務部署交付能力。

找準定位,寄望未來

只有知道世界上做的最好是什麼樣的,才有機會趕超,如果有人已經做到了行業第一,就要明確競爭壁壘是什麼,以及如何自我顛覆,持續創新。”李克說,只有明確了定位,才能知道自己該往什麼方向深挖技術,做大業務。

平時,要多關注相關領域的優質作品,提升自己的視野和認知水平,建立內外部的技術圈子,學會經常總結,多分享,提升個人專業影響力。多訂閱一些技術大牛的動態,看看大家關注的行業技術和前沿趨勢,知道行業裡面最好的人都在幹什麼,想什麼。比如我們團隊現在做邊緣雲方向,就需要大量學習雲原生、虛擬化相關的技術。

此外,形成自己做事的“套路”,注意方法的沉澱和資料上的證明,系統優化運用相關的創新技術,如何複用技術,以及沉澱和被複用都是個人能力的體現,而不是簡單的解決問題,要學會體現解決問題背後的技術選型和關鍵挑戰,通過這些方法的提煉,從而形成了做事情的套路。

最後,要學會合作和利他的精神。隨著業務變得複雜,分工也越來越細,如何整合資源,利用現有能力,學會“利他思維”,就變得尤為重要。當一個人把全公司都看成他的資源時,或者能讓他的價值被廣泛應用,那他的成果將不可限量,重要的是學會思考技術怎麼複用,而不是重複造輪子。

李克認為,找對方向,放平心態,切忌追逐風口,看到風口之後的本質,風口固然很重要,但來得快也去得快,這種踩空是非常不值當的,要學會更多關注地基礎東西,如基礎的語言、資料結構、演算法等,打好基本功,紮實掌握書本上的東西,只有基礎牢了,上面才能生長出更多業務。

有時,選擇一份職業,就像在大海上航行時,你需要選擇適合一艘適合自己的船,才能到達勝利彼岸。阿里雲邊緣雲所在的海域,或許風雲變幻、風起雲湧,但值得有人乘風破浪。

“歡迎優秀的同學加入我們,一起在雲端計算的大海中乘風破浪!”李克最後說道。

原文連結

本文為阿里雲原創內容,未經允許不得轉載。