2019 雙11,訂單創新峰值達到 54.4 萬筆/秒,單日資料處理量達到 970PB,面對世界級流量洪峰,今年的阿里巴巴交出了一份亮眼的云原生技術成績單,并實作了100% 核心應用以云原生的方式上云:
- 雙11 基礎設施 100% 上云
- 支撐 雙11 在線業務容器規模達到 200 萬
- 采用神龍彈性裸金屬服務器計算性價比提升 20%
這些資料背后是對一個個技術問題的反復嘗試與實踐,這一次,我們對云原生技術在 雙11 的實踐細節進行深挖,篩選了其中 22 篇有代表性的文章進行重新編排,整理成書《不一樣的 雙11 技術:阿里巴巴經濟體云原生實踐》旨在為行走在云原生之路上的開發者打開新思路、提供一些有益參考,
大咖寄語

我們采訪了上云總架構師畢玄,以下是他對于 雙11 核心系統 100% 上云背后云原生的技術思考,
與客戶在同一架“飛機”上
王堅院士曾在很多場合都和阿里的技術人員講到:阿里云作為一家輸出技術的公司,我們需要做到和我們的客戶在同一架“飛機”上,而不僅僅是“造飛機”或看著“飛機”在空中飛,阿里經濟體云化最重要的就是要做到讓我們和客戶在同一架“飛機”上,
早在幾年前,阿里巴巴經濟體就開始借助阿里云的機器資源來支撐 雙11 零點的高峰,云的彈性資源優勢使得 雙11 的機器資源投入成本下降超過 50% 以上,但在這些機器資源上部署的卻是我們自己的技術體系,例如容器、中間件、資料庫、快取等,也就意味著我們和客戶其實是在不同型別的“飛機”上,而且阿里巴巴經濟體在的“飛機”是專為阿里巴巴定制打造的,外部客戶是買不到的,這是一個典型的從 Hosting 演進到 Cloud Hosting 的階段,為了切實做到和客戶在同一架“飛機”上,在今年 3 月份,阿里云智能事業群 CTO 張建鋒(花名:行癲)正式對外宣布未來一到兩年,阿里巴巴百分之百的業務要跑在公共云上,成為“云上的阿里巴巴”,
從 Cloud Hosting 到 Cloud Native
阿里巴巴經濟體云化是阿里技術發展史上繼之前的分布式架構、異地多活后的又一輪巨大的架構升級,這次架構升級需要把我們從 Cloud Hosting 演進到 Cloud Native,Cloud Native 作為技術圈最火熱的名詞,不同的人的眼中有不同的定義,我們認為 CloudNative 帶來的是一次系統構建方式的巨大變革,Cloud Native 是指業務系統的構建從基于自有、封閉的技術體系,走向基于開放、公共的 Cloud 的技術體系,
在 Cloud Native 時代之前,多數公司隨著業務的發展,或多或少都會打造出自有、封閉的技術體系,這一方面造成了巨大的投入,使得公司的技術人才力量沒有完全專注的投入在業務上,另一方面也造成了這個行業人才流動的困難,因為知識體系的不同,每到一家新的公司幾乎都是全新的一套,這個一定程度上影響了業務創新的速度,盡管很多的開源產品在一定程度上有助于解決這個問題,但還不足以體系化,而在 Cloud Native 時代,我們認為會有兩個典型的特征:
1.對于業務系統端而言,在做系統設計的技術選型上,Cloud 提供了遠比自有技術體系更為豐富了多的選擇,這使得架構師可以更好的根據業務的狀況、階段等來進行更合理、合適的技術選型,最后表現出來的特征會是業務系統基于 Cloud 的技術體系來搭建,而越來越少的自建或自研,就像 Cloud Hosting 帶來的越來越少的公司自己 Hosting 機器的變化一樣;
2.對于云廠商而言,會提供越來越多開放、主流的技術堆疊的技術產品,從而讓客戶有更為豐富和自主的選擇權,同時云廠商會去做到讓這些技術產品的互通性更好,這樣客戶才能真正做到對于不同型別的業務選擇不同的技術產品和體系,
按照這樣的思路,阿里巴巴經濟體云化在走向 Cloud Native 的道路上,我們的原則是:
1.業務系統不再采用自有、封閉的技術產品,而是阿里云上對外提供哪些技術產品,我們就基于這些來重構、新建我們的業務系統;
2.阿里云上提供相應技術領域的主流技術產品,同時根據阿里業務的需求去新增、完善、改造相應的技術產品,并增強不同技術產品的互通性、開放性,
按照這樣的原則,隨著阿里經濟體云化專案的進展,阿里的業務系統就必將完成從基于自有、封閉的自有體系構建,進化到和阿里云的客戶一樣,基于阿里云上公共的技術產品的體系來構建,從而實作和客戶在同一架“飛機”上,
不一樣的雙11,云原生技術亮點
在這個雙11,我們在以下幾個方面有了一些不錯的進展:
超大規模 Kubernetes 實踐
2017 年下半年,阿里集團開始嘗試使用 Kubernetes API 來改造內部自研平臺,并開始了對應用交付鏈路的改造,以適配 Kubernetes,2018 年下半年,阿里集團和螞蟻金服共同投入 Kubernetes 技術生態的研發,力求通過 Kubernetes 替換內部自研平臺,實作了小規模的驗證,支撐了當年部分 雙11 的流量,2019 年初,阿里經濟體開始進行全面上云改造,阿里集團通過重新設計 Kubernetes 落地方案,適配云化環境,改造落后運維習慣,在 618 前完成了云化機房的小規模驗證,2019 年 618 之后,阿里集團內部開始全面推動 Kubernetes 落地,在大促之前完成了全部核心應用運行在 Kubernetes 的目標,并完美支撐了 雙11 大考,
阿里巴巴超大規模 Kubernetes 落地,經受了雙11大促真實場景的考驗, 單集群能支撐萬級別 Node、十萬級別 POD 的規模,我們推進了三個方面改造:面向終態的改造;自愈能力改造;不可變基礎設施改造,相比原有傳統的運維鏈路,擴容效率提升了 50%,集群節點在線率達到了 99.9% 以上,
阿里巴巴云原生化的最佳組合:Kubernetes+容器+神龍
今年 雙11,我們通過 K8s+容器+神龍的最佳組合實作了阿里核心系統 100%以云原生的方式上云,完美支撐了 54.4w 峰值流量以及 2684 億的成交量,基于 0 虛擬化開銷的神龍裸金屬,通過使用行業標準的容器與調度、編排、管理技術,推動經濟體云原生技術全面升級,容器性能提升 10%、神龍節點可調度率達到 99% 以上、容器穩定性與在線率全面提升,
Service Mesh 超大規模落地
阿里巴巴在 雙11 的部分電商核心應用上落地了完整的 Service Mesh 解決方案,借助 雙11 的嚴苛業務場景完成了規模化落地前的初步技術驗證;螞蟻金服也實作了 Service Mesh 的大規模落地,Service Mesh 所帶來的變化體現于:服務治理手段從過去的框架思維向平臺思維轉變;技術平臺的建設從面向單一編程語言向面向多編程語言轉變,
Service Mesh 創造了一次以開發者為中心去打造面向未來的分布式應用開發平臺的機會,給其他技術產品創造了重新思考在云原生時代發展的機會,給技識訓礎設施如何與業務基礎技術更好地協同提供了一次探索機會,并為探索面向未來的異地多活、應用永遠在線的整體技術解決方案打開了一扇大門,
雙11 同款云產品
1.容器服務 Kubernetes 版(ACK)
2.容器鏡像服務 Container Registry (ACR)
3.函式計算 2.0(事件驅動的全托管 Serverless 計算服務)
4.企業級分布式應用服務 EDAS(應用托管 + 微服務治理)
5.[Serverless 應用引擎(阿里云首個面向應用的 Serverless 產品)](https://www.aliyun.com/product/sae)
6.應用實時監控服務 ARMS(全堆疊式的性能監控)
7.鏈路追蹤(云上華佗,成本是自建鏈路追蹤系統的1/5或更少)
8.應用高可用服務AHAS(限流降級神器)
9.性能測驗 PTS(雙11同款性能壓測工具)
10.訊息佇列 for Apache RocketMQ(服務于阿里集團 13 年,覆寫全集團所有業務)
11.訊息佇列 for Apache Kafka(更專業、更可靠、更安全)
12.全域事務服務 GTS(傳統分布式事務10倍性能)
“阿里巴巴云原生微信公眾號(ID:Alicloudnative)關注微服務、Serverless、容器、Service Mesh等技術領域、聚焦云原生流行技術趨勢、云原生大規模的落地實踐,做最懂云原生開發者的技術公眾號,”
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/53432.html
標籤:其他
