以下是本次訪談關鍵內容的整理。
播報員:
*各位開發者朋友們,大家好。歡迎收看我們這一期的雙11技術播報欄目,我是你們的播報員莫孤。今天我們依然還是雙11技術播報的特別篇,特別邀請了阿里雲中間件團隊的涯海來參加我們這一期的雙11技術播報欄目,他是這一次中間件團隊的大隊長,帶領著中間件團隊參加了雙11的整個項目,在此過程中肯定有非常多好玩的事情,也會有非常多的技術突破給我們分享。那就讓我們來熱烈歡迎一下涯海來到我們的直播間。*
涯海:謝謝莫孤。
播報員:要不你先跟大家介紹一下自己?
涯海:我是來自阿里雲智能的中間件團隊隊長涯海。我是一個新人,其實我覺得自己比較新,首先這是我今年第一年當中間件的隊長,然後我也是一個畢業不到5年的應屆生,所以我認為自己的心態還是比較新的。另外我平時比較喜歡打遊戲,應該跟大多數男生是差不多的,並且我玩魔獸世界已經十幾年了,可以認為是骨灰級的一個玩家,當然是中間AFK過很多次,比如今年做大促就臨時的又AFK了。那正好今年做完(大促)之後,我就準備把我的電腦修一修,再次回到我的艾澤拉斯大陸。 我就介紹這麼多。
播報員:好的,剛剛說到電腦的問題,其實我們採訪的另外一位大隊長智盛,聽說他對這一塊特別了解,我覺得你們可以接下來去深度的聊一下電腦怎麼修復的事情。今年是涯海正式加入阿里的第5年,但是已經作為大隊長帶領中間件團隊去參加整個雙11的項目了,非常的年輕有為。
我想問一下你第一次當大隊長是一種什麼樣的體驗呢?
涯海:首先第一個就是感覺比較刺激,對,因為作為一個BU的大促隊長,其實下面(代領)的同學有很多,第一次享受到了呼風喚雨的感覺,當然這是開玩笑的。
其實刺激的背後就是感覺到挑戰非常的大,因為中間件的產品非常多,我們有20多款產品,然後核心備戰的同學有六七十位,怎麼去進行內部的協調,怎麼進行這麼多產品的協同,然後對外去提供統一的服務,並且我們集團有40多個BU都在用我們中間件的服務,怎麼去保證最終大促的穩定性,這是一個非常具備挑戰和刺激的一個事,這是第一個感受。
第二個就是感觸就是大促是一個超級工程,它是非常複雜並且精密的,從整個CTO到5位集團的大隊長,到我們40多個BU的隊長,然後層層再到下面的同學,每一層級都是非常嚴密、嚴謹,然後每個人的邊界又很清晰,但是補位的意識要非常的強,大家既是齒輪,又是一個連接的樞紐。在這個過程中我就是非常幸運的能夠從更上層的視角去看到整個集團的從業務到最底層的一些物理設備,比如說網絡供應鏈這類,這個是之前做研發非常不一樣的體感,這是第二點感覺。
第三點的話就是做大促其實是痛並快樂著。痛苦是肯定有的,因為做大促非常的辛苦,而且今年雙11也非常的長,並且任何一個小的風險點都不能遺漏,因為千裡之堤潰於蟻穴,所以我們的工作必須做的非常細緻,但是快樂也是前所未有的,有點像什麼?比如說我們打籃球,一場可能得了很多球很多分,非常快樂,但是相對來說就沒有踢足球的快樂更大,有可能你踢一場下來只能進一個球,就是說一個漫長的努力,最終會到一個巨大的回報,以及非常大的滿足感。這個是我個人的一些感觸。
播報員:對,我覺得你剛剛描述的特別地生動形象,用踢足球和打籃球來描述一下參加雙11的體感,讓我非常的感同身受。
剛剛也有提到說作為隊長去帶領我們的整個中間件團隊參加雙11的項目的話,可以從業務上有一個更全面地了解。我想問一下中間件今年是怎麼支撐雙11的,達到了怎麼樣的業務結果呢?
涯海:首先我們會先根據今年業務的目標來確定我們整體的一些打法,比如說今年我們業務的峰值是什麼樣的,除了峰值之外,會不會有其他的一些核心目標,然後我們會把最重要的目標拆解到中間件的每一個產品,同時結合我們自身的一些產品的技術架構的演進,來提前的去儲備我們的技術的力量,這是第一步:確定目標。
第二步就是我們要具體確定我們的核心備戰人員,就是有哪些同學,其中老同學有多少,新同學有多少,怎麼使得我們大促的經驗能夠傳承,這個是我們要確認的第二點:人員。
第三個就是我們要確定整體的一個流程,比如說我們的客戶端升級是在什麼階段,我們的服務端升級、驗收,是在什麼階段,壓測在什麼時候,還有封網,就是說整個的流程我們要能夠確定好。
經過目標、人員、打法,最後再按部就班的一步步的實行,當然這些都是計劃內的,但是大促有很多突發、應急的風險,這個時候就需要通過我們提前的一些技術風險的管理,包括我們應急的一些預案,然後來進行快速的響應,最終的結果,個人覺得今年是比較滿意的,因為今年在1號到11號的11天內基本上是全程零故障,而且我們業務上也取得了一些收穫,我們在考拉全站雲原生架構升級的項目裡面,也取得了非常好的一些新技術的突破和印證。
播報員:好的,謝謝。剛剛聽你說得到了整個備戰期間零故障的好成績,真的是非常不錯,恭喜。
看來咱們中間件團隊確實下了非常多的功夫,作為隊長,你覺得今年雙11和去年有些什麼不一樣的地方?
涯海:今年和去年感覺最不一樣的就是我們全面擁抱雲原生這個點,因為去年的話我們是整個阿里IaaS層上雲,我們叫全面上雲,但是那個時候還沒有觸及到我們PaaS這一層。
IaaS上雲對於大多數的業務來說都是無感的或者是感知很少,但是PaaS上雲的話,它的邏輯是跟業務代碼深度耦合的,這個時候我們業務就會有一個很強的感知,並且可能會需要做大量的改動。這個時候我們怎麼能在保證業務穩定的情況下,平穩地去完成PaaS的升級,這個是今年跟去年特別不一樣的第一點。
第二個就是三位一體,今年從中間的視角,我們很多核心的產品已經加速,甚至是已經完成了我們自研、開源和商業化產品的全面融合,一方面可以節省我們內部的產品支持和維護的一個成本,也就是說可以減少我們的成本,另一方面也為我們集團內走向開放標準的技術生態,去享受雲原生的技術紅利來打下了一個很好的基礎,並且能夠讓外部的雲產品得到內部大量場景的錘鍊,來增強我們服務超大批客戶的產品化的能力。
這兩點我覺得是今年雙十一和去年雙十一差異比較大的兩點。
播報員:了解了。確實,我們中間件產品裡面其實有非常多的網紅產品,就是各位開發者都用得非常多,相信屏幕前的你(觀眾)應該也用過,那你(觀眾)腦海中有出現什麼樣的阿里中間件的網紅產品的話,現在就可以發彈幕告訴我們。
剛剛我們有提到,今年全面雲原生化帶來了很多不一樣的地方,這又帶來了哪些核心技術的升級呢?
涯海:核心技術的升級的話,我覺得第一個就是我們Dubbo 3.0,在考拉樣板間的一個落地,什麼是Dubbo 3.0?就要提到大家比較熟悉的網紅的微服務Dubbo,Dubbo我們現在主要是在2.X的版本,那麼Dubbo 2 和我們集團內部大規模使用的HSF的微服務框架,它本身的兼容性不是特別好,但是Dubbo 3.0 就可以完全兼容我們2.0和集團內的HSF微服務。比如說考拉,它是我們併購的一個產品線,那麼它一開始用的就是基於開源自建的一個分支,就是Dubbo k,它在融入到阿里之後,跟阿里的電商體系去做融合互通的時候,就需要同Dubbo 2.0和我們內部的HSF去做一個互通。 這個時候我們給出的方案就是通過Dubbo 3.0 來完成這樣的橋接,今年我們是在考拉完成了Dubbo 3.0的升級和落地,明年我們要在集團內做大規模的3.0的升級,這是第一點。
第二點就是我們今年的一個中間件4.0的一個項目,什麼是中間件4.0?就是針對單集群、百萬實例規模,我們需要做的特別大的一些性能優化,包括我們基於雲原生的流量控制,還有我們的Mesh服務網格的技術。今年這三項技術都取得了比較大的突破和成果。
播報員:好的。剛剛有聽到你說三位一體的一個體系,這三位一體是哪三位?為什麼三位一體在今年會變得如此重要呢?
涯海:行,先說說三位一體是哪三位?首先第一個就是自研,阿里的技術一開始都是基於內部的場景,雙11的這種電商的峰值孵化出來的很多創新型的技術,這個是結合我們的資源高度定製,非常契合我們阿里生態的一些技術。
第二個就是開源,隨著開源的設計越來越繁榮,有很多優秀的設計理念,然後包括K8S等這些產品,並且現在整個業界對開源也越來越認可。
第三個就是商業化,我們現在有很多雲服務提供廠商,比如說阿里雲,我們也有很多成熟的商業化產品,但是在一兩年前這三位並不是融合的,可能是多個團隊,每個團隊做一套或者是一個團隊要同時維護多個版本,因為它的代碼分支、內核產品體驗差異都很大,這個是由用戶的場景驅動的。但是經過數年的發展,我們發現這三者各有優勢,但也各有劣勢,這個時候我們就需要做一個三位一體的融合,將三位融合為一體,先做一個全面的融合,這樣的話我們既能享受到我們一些開源的優秀的設計理念,拿到內部的場景,通過大量的業務場景去錘鍊,然後轉化成一個非常成熟的商業化產品,來為我們內部或者外部的企業用戶提供我們「永不停機的計算服務」的目標去努力。另一方面我們也能夠同時的享受到我們雲原生的這樣一個技術紅利。這個是我對三位一體的一個理解。
播報員:剛剛我記得你還有提到過說去年是IaaS的上雲,這樣對業務比較無感知,對吧?
今年是PaaS的上雲,需要業務進行一些相應的改變。 其實還有一種方式叫雲原生上雲,我想讓你來給我們解釋一下,這三種上雲的方式究竟有什麼樣的區別呢?
涯海:IaaS層上雲的話,簡單解釋就是你不用買伺服器了,不用去自建機房了,你可以把你的應用的容器直接部署在我們的雲端, 就節省了很多物理的成本。 PaaS上雲是什麼?就是說不單你的客戶端,就是你自己的應用程式不需要再買機器了,並且你需要使用的一些服務端的中間件技術,也不需要去自建集群,比如說你不需要去自建一個消息集群,然後再去提供消息服務,也不需要去自建一個註冊中心或者配置中心,你才能享受這樣的服務。那麼我理解的PaaS層上雲就是將我們使用的很多中間件的技術直接變成PaaS化,按需的去使用,就像我們現在IaaS層一直在說彈性,就是我們需要用到多少的物理資源,就去自動的申請,然後當流量上漲它可以自動的去做擴縮容。那麼PaaS同樣是希望往這個理念去發展,我們把我們的一些中間件服務以一種計量的方式來對外提供服務,這個時候你用多少你就花多少的成本,不需要去考慮它的擴展性,也不需要考慮它的規模的瓶頸,比如一些網際網路的新興公司,它的成長是非常迅速的,可能它的實例規模迅速的能從100到1000到上萬到甚至是10萬,這個時候它就不需要經歷阿里一代、二代、三代的這樣一個技術更新,不用再去經歷這樣的痛苦,這是第二類。
什麼是第三類?我理解雲原生就是讓我們無論是IaaS層還是PaaS層的接口更加的標準,比如說雖然同樣是把你的中間件服務部署在雲端,那你可能會面臨多個雲廠商的這樣的一個糾結,對吧?因為每個雲廠商的標準都不一樣,就像你買不同的手機,可能有不同的充電器,這個時候如果你買了兩個手機,充電器可能就不能互用,但是現在大家都基於Type-C的充電接口,都基於這樣的標準接口,也就是我們就無論你是開源自建還是從自建遷移到成熟的雲服務廠商,都不需要再去經歷買一個USB轉換器的痛苦。這個是我個人的一個理解。
播報員:了解了,像我這種不是技術的同學,我都能聽懂,非常淺顯易懂的科普,非常感謝涯海。
我有聽說過一句話叫做中間件雲原生化是雲原生從概念到落地的承接,這句話是怎麼理解?
涯海:這句話比較抽象,我也不太好理解,我只能大概的說一下我自己的理解。我聽到一個關鍵詞就是承接對吧?
其實中間件一直是承擔的承上啟下的作用,就是向下的話,我們是要充分的去發揮我們IaaS層的一些技術紅利,比如說現在最火的一些彈性的技術,但是我們要屏蔽掉不同的物理設備其底層的一些差異化,無論是K8S還是容器化的,我們都要去屏蔽底層的物理差異。
向上,我們是需要提供標準的服務能力,就像我剛才說的PaaS化一樣,這個時候無論是電商業務,還是說搜索業務或者其他的業務,無論你的業務形態是什麼樣,但是所使用的這種中間件的服務能力是標準的、一致的,我們就可以去支持不同的場景,並且與此同時我們也可以支持不同的語言,無論是Java的還是C++的,對外提供的接口的能力都是一致的。 這個是我對「承接」一詞的理解。
播報員:我聽上去感覺上是齒輪,就是一個個比較精細的齒輪的感覺?
涯海:不能說齒輪,我覺得它有點像適配器,可能是一個萬能的適配器。只要有了它,你就可以去選擇你想要的一些能力,並且不需要考慮能力之間的一個差異性,它來幫你去做屏蔽,並且你不需要考慮規模,它也可以幫你去屏蔽規模帶來的一些問題。
播報員:好的,我們這邊還有最後一個問題,都說今年特別重要的一個概念就是全面雲原生化,我們今年的雙11也成為了全球最大規模的雲原生實踐。
其實我們都知道阿里在近幾年來一直都在做雲原生基礎設施的升級,基礎設施整體升級以後,雲原生中間件將如何重構升級呢?如何把底層基礎設施更好的彈性,通過中間件賦能給上層業務?
涯海:我們現在在做這樣幾個事情,第一個就是我們自己要去擁抱雲原生帶來的變化,比如說今年我們中間自己就做了有狀態應用的AIS化,也就是KMS,也就是我們要把我們自己的應用變成隨時可以遷移、自動調度的,然後通過這種調度的方式解決一些單機故障,來提高我們整體集群的穩定性。
第二點我們要把自己的很多能力去包裝成一些CRD或者是其他的一些方式,能夠讓用戶更加輕量化地、更加有效地去定製自己的一些需求。
第三個就是說我們要去面對多語言的場景,要去通過一些服務網格的技術比如說Mesh,去支持一些異構場景以及多元互通的訴求,這個是我們要做的第三點,當然還有很多其他的點,我就不一一介紹了。
總得來說,之前一篇文章中有有一個比喻,我們都知道珠穆朗瑪峰很高對吧?它是一個8848米的高山,極度缺氧、嚴寒的一個環境,這個時候我們去攀登這樣一座高峰的時候,就需要藉助一些設備,比如說我們的防寒衣,我們的氧氣罐,我們通過這些設備來幫助我們更好地去攀登我們的頂峰,我們的一些中間件的技術就是幫助大家去完成這樣的這樣的一個目標。
當然我們更希望幫助大家做的事情就是通過雲原生中間件技術的升級,能夠幫助業務本身也完成雲原生化的轉型,就有點像我們拋棄了氧氣罐,拋棄了防寒衣,就像生活在珠穆朗瑪峰上面的一些冰熊等一些原生的動物一樣,我們直接適應了雲原生的環境,適應了整個雲原生的特性,這個時候我們就能更加充分地去發揮我們雲原生技術紅利的優勢。
播報員:
其實我們屏幕前有非常多的開發者,也用了很多阿里中間件的技術,也非常想把阿里中間件的技術學好。
對於這些開發者來說,你有什麼好的建議給到他們嗎?
涯海:首先非常感謝大家能夠喜歡,能夠支持我們阿里的這些技術。我們阿里中間件最近幾年也花了大量的人力投入在我們整個開源社區的建設上面,比如說我們的幾個明星產品,比如說微服務Dubbo,還有我們的消息產品,還有RocketMQ現在也是Apache的頂級項目產品,還包括我們的軟負載,以及等等一系列的產品,這些產品我們都有在開展社區去貢獻,同時我們集團內部的產品和我們商業化的產品也在進行融合,而且我們的內核也都是基於這樣的,如果大家感興趣的話,我是建議大家先從開源參與進來,然後在參與開源的過程中也可以嘗試自己搭建一些集群去學習一下,甚至可以應用在你的生產系統裡面。但是當你的規模和體量逐漸增長的時候,你可能會遇到更加高深的比如說穩定性或者是擴展的一些問題,這個時候就可以多跟我們的同學一起交流,我們也有很多開發者社區,並且很多內部的同學都是技術極客,包括我自己,都是非常願意跟大家一起去交流這些技術話題的。
播報員:好的,最後我就著剛剛我們涯海的話題打一個小廣告,我們現在其實正在籌備雲原生的課程,12月也會發布雲原生微服務的學習路線,都在阿里雲開發者社區,大家可以去持續關注,並且學習起來,Get同款網紅中間件產品的技術。
我們今天的訪談就到此結束了,非常感謝屏幕前的你在這段時間裡跟我們一起交流和學習,也非常感謝我們今天的嘉賓涯海來參加我們今天的訪談,謝謝大家。
涯海:好,謝謝莫孤,最後我也打一個廣告,對如果大家對阿里的技術感興趣,對中間件建感興趣,希望能夠共同地去定義未來的雲原生,歡迎大家加入我們,跟我們一起努力。
本文為阿里雲原創內容,未經允許不得轉載。