什么技術(shù),讓阿里拿下國家技術(shù)發(fā)明獎?
什么技術(shù),讓阿里拿下國家技術(shù)發(fā)明獎?
阿里妹導(dǎo)讀:新年伊始,國家科學(xué)技術(shù)獎勵大會在北京人民大會堂隆重舉行。阿里云獲得國家技術(shù)發(fā)明獎、國家科技進(jìn)步獎兩項國家大獎。這是互聯(lián)網(wǎng)公司首次同時榮獲兩大國家科技獎,也實現(xiàn)了互聯(lián)網(wǎng)公司在國家技術(shù)發(fā)明獎上零的突破,這意味著阿里巴巴以十年為周期的技術(shù)戰(zhàn)略進(jìn)入收獲期。
此次阿里云聯(lián)合上海交大過敏意教授團(tuán)隊開展的“面對突變型峰值服務(wù)的云計算關(guān)鍵技術(shù)與系統(tǒng)”獲得國家技術(shù)發(fā)明二等獎,背后的相關(guān)技術(shù)源于超大規(guī)模互聯(lián)網(wǎng)電商場景。早在2009年11月11日,阿里巴巴發(fā)起第一屆“雙十一購物狂歡節(jié)”,如何在“突變型峰值”下繼續(xù)服務(wù)好行業(yè)新消費模式,就成為阿里巴巴面臨的技術(shù)難題。十年后的今天,“突變型峰值”場景不降反增,逐漸成為行業(yè)技術(shù)普遍要解決的,甚至關(guān)乎國計民生的問題,比如:交通運輸域的“春運搶票”、電子商務(wù)域的“秒殺”、全民共聚的“春晚”與“跨年”等大型場景。十多年的戰(zhàn)略技術(shù)投入,伴隨著十多年的云計算成熟之路,阿里云成功解決了“突變型峰值”難題,并通過普惠行業(yè)的云計算技術(shù),將能力輸送分享到行業(yè)的各個領(lǐng)域。
我們將走進(jìn)獲獎背后的故事,為大家介紹其中的技術(shù)。

1. 突變峰值的挑戰(zhàn)
首先,我們要搞清楚阿里云“突變型峰值下的云計算技術(shù)”究竟是什么。
“突變型峰值服務(wù)”通常指:相鄰單位時間內(nèi)終端用戶請求量顯著增長的互聯(lián)網(wǎng)服務(wù)。互聯(lián)網(wǎng)服務(wù)在峰值突變時易出現(xiàn)用戶請求響應(yīng)慢、系統(tǒng)崩潰等后果,比如:
2014年某電商網(wǎng)站在“618”購物狂歡節(jié)時,響應(yīng)慢、網(wǎng)站崩潰;
2015年除夕時某社交app紅包出現(xiàn)無響應(yīng)、交易失敗等問題;
雖然云計算在面世之初,彈性能力和近乎無限的資源就是其賣點之一,但是傳統(tǒng)的云計算技術(shù)面向通用性彈性計算設(shè)計,在處理突變型峰值服務(wù)時,常容易出現(xiàn)以下幾類難題:
“成本高”:應(yīng)對峰值需求預(yù)備容量,成本不節(jié)約;
“延遲長”:云中低算力節(jié)點負(fù)載高,調(diào)度不均衡;
“吞吐低”:存儲設(shè)備擴展故障劇增,回復(fù)不迅速;
“擴展慢”:服務(wù)鏡像倉庫網(wǎng)絡(luò)擁塞,分發(fā)不及時;
“運維難”:專家經(jīng)驗演進(jìn)和查詢慢,分析不智能。
阿里云經(jīng)過多次陣痛和無數(shù)工程師的心血,解決了以上難題,造就了十年一劍的“基于容器與混合部署的高效資源整合技術(shù)”。
2. 技術(shù)探索的起點
阿里巴巴的容器與混部技術(shù)絕非一日之功,突變峰值的挑戰(zhàn)亦非單一技術(shù)點可以應(yīng)對的。但萬事開頭難,這些技術(shù)突破的起點可以追溯到“雙十一”的誕生初期。
2011年,時下整個行業(yè)的虛擬化技術(shù)正發(fā)展得如火如荼,以KVM、XEN以及VMware為代表的虛擬化技術(shù),幾乎有著一統(tǒng)基礎(chǔ)設(shè)施的大勢,而阿里巴巴內(nèi)部以多隆、畢玄為首的一個小團(tuán)隊,劍走偏鋒,選擇探索一個代號為“t4(淘寶第四代計算引擎)”的項目,t4的技術(shù)理念與如今云原生領(lǐng)域的核心技術(shù)——容器,恰恰如出一轍。每次提到這段歷史,當(dāng)時阿里的工程師都會提到兩點:“擴展效率”與“資源利用率”。一來,“雙十一”大促勢必會給計算服務(wù)帶來巨大的流量壓力,面對訪問峰值時,如何提供后端系統(tǒng)實時的“彈性可擴展能力”是一個技術(shù)難題;二來,面對超過日常情況幾十倍、甚至幾百倍的流量壓力,如何做到提升數(shù)據(jù)中心資源利用率,實現(xiàn)資源不隨著流量線性增長?(顯然我們不能因為有百倍的流量壓力就購買100X的服務(wù)器來解決這個問題)。
提出了正確的問題,讓阿里巴巴在容器技術(shù)上的先行一步,從實際問題出發(fā)展開了有針對性的攻堅,為未來打開了道路。
3. 終成一劍的容器化、微服務(wù)與混部
容器技術(shù)在默默前進(jìn)的同時,隨著雙11面臨的系統(tǒng)峰值負(fù)載壓力逐年增加,基礎(chǔ)設(shè)施采購?fù)度氲某杀疽仓鹉瓿芍笖?shù)上升;同時由于日常業(yè)務(wù)日均僅有10%左右的利用率,新增購置的硬件服務(wù)器資源會造成巨大浪費。為此,在2014年,阿里巴巴開始探索混部技術(shù),通過將在線業(yè)務(wù)和離線大數(shù)據(jù)計算的負(fù)載混部運行在共享的集群中,以期可以顯著提高數(shù)據(jù)中心資源利用率。
在線業(yè)務(wù)和離線大數(shù)據(jù)計算這兩類負(fù)載有多個可以互補的特點,構(gòu)成了數(shù)據(jù)中心大規(guī)模混部技術(shù)的可行性基礎(chǔ):
在數(shù)據(jù)中心日常態(tài)下,在線業(yè)務(wù)普遍資源利用率較低,且業(yè)務(wù)峰值壓力時間短,或固定在大促脈沖波峰時間,白天壓力較大,且對延遲和抖動敏感;
離線業(yè)務(wù)正好相反,平時資源使用壓力較高,業(yè)務(wù)資源使用較為固定,主要資源壓力集中在晚上,重視高吞吐,但對時延不敏感。
直觀地看,兩類負(fù)載只要能跑在共享的集群中,就可以達(dá)到提升利用率的目的。但我們的目的并非利用率這個數(shù)字,而是所有負(fù)載是否可以正常運行。在集群資源利用率較高時,在線和離線業(yè)務(wù)會發(fā)生資源爭搶(CPU、內(nèi)存、網(wǎng)絡(luò)帶寬、IO以及各種微資源)。對于具有超長復(fù)雜鏈路的微服務(wù),在超高集群資源壓力下,任何一個環(huán)節(jié)的延時響應(yīng)都會造成整個業(yè)務(wù)鏈路對外暴露的服務(wù)體驗下降。如何在混部場景下保證極低的時延和穩(wěn)定性便成為了歷史難題。
為了全方位、系統(tǒng)性地解決這個問題,從2016年起,阿里巴巴用三年時間,通過重建數(shù)據(jù)中心、全量業(yè)務(wù)遷移和集團(tuán)全量業(yè)務(wù)容器化改造,在早期阿里巴巴業(yè)務(wù)的微服務(wù)化的基礎(chǔ)上,形成了基于容器和微服務(wù)的統(tǒng)一混部調(diào)度資源池,促進(jìn)了整體基礎(chǔ)實施架構(gòu)的演進(jìn)升級。下面我們簡單列舉部分有代表意義的措施。
宏觀的資源管理方面,實現(xiàn)在線業(yè)務(wù)和離線業(yè)務(wù)調(diào)度器的協(xié)同工作,在調(diào)度層為混部負(fù)載之間的隔離建立了良好的技術(shù)架構(gòu),讓兩個調(diào)度器在各司其職的同時能夠最大限度保證在線業(yè)務(wù)的瞬時需求(保證可以在需要時及時拿到資源)和離線業(yè)務(wù)的長期需求(保證在給定時間窗口內(nèi)可以獲得足夠完成計算任務(wù)的資源)。為了降低大規(guī)模部署時的資源碎片,工程師們還通過升級智能調(diào)度算法,解決類似高維度背包問題,大大提高了服務(wù)器的資源部署密度,讓同樣數(shù)目的服務(wù)器可以承載更多應(yīng)用同時正常運行,降低成本:若僅考慮CPU資源,在滿足內(nèi)存、網(wǎng)絡(luò)帶寬、磁盤IO、打散、親和等約束的同時,將CPU分配率從70%(普通貪心算法)提升到95%以上(智能調(diào)度算法)。
微觀的資源隔離方面,阿里工程師深入到操作系統(tǒng)和內(nèi)核當(dāng)中,針對不同業(yè)務(wù)特點進(jìn)行了多方面的努力。在CPU資源分配方面,工程師深度優(yōu)化了Linux的CFS調(diào)度算法,在排隊時間、驅(qū)逐等級等方面為重要性不同的業(yè)務(wù)設(shè)計優(yōu)先級,保證重要任務(wù)在需要時可以迅速獲取CPU資源,降低業(yè)務(wù)響應(yīng)時間、提升業(yè)務(wù)穩(wěn)定性。在多核處理器環(huán)境中,通過Noise Clean等技術(shù),保證了高優(yōu)先級任務(wù)可以充分使用自己所在的CPU核(Hyper Thread)的微資源,進(jìn)一步保證業(yè)務(wù)的穩(wěn)定性。CAT、NUMA、JVM冷內(nèi)存回收等技術(shù)也在這里大放異彩。
在超大規(guī)模部署效率方面,阿里云的Dragonfly提供了高效鏡像分發(fā)技術(shù),實現(xiàn)了指數(shù)級別的鏡像分發(fā)時間的提升,將原本需要數(shù)十分鐘才可以完成的鏡像分發(fā)工作降低到數(shù)秒之內(nèi)完成。Dragonfly現(xiàn)在已經(jīng)是CNCF認(rèn)可的正式項目之一。
上述這些措施也為集團(tuán)全面上云,以及云原生升級打?qū)嵙嘶A(chǔ)。正是這套完整的資源隔離和彈性共享機制,使得阿里巴巴的大規(guī)模數(shù)據(jù)中心在提高資源利用率的同時,穩(wěn)定支持了在線業(yè)務(wù)大促脈沖峰值,最終實現(xiàn)了大促0增量成本投入。
實際上,容器化、微服務(wù)、混部這些脫胎于應(yīng)對“突變型峰值”問題的技術(shù),在大促以外的日常運行帶來了更大的經(jīng)濟(jì)價值:通過混部技術(shù),阿里巴巴數(shù)據(jù)中心的日均資源利用率由10%提高到40%,每年節(jié)省數(shù)十億成本,實現(xiàn)了歷史性突破。2019年阿里巴巴集團(tuán)基于阿里云智能天然的彈性能力和自研神龍服務(wù)器強大穩(wěn)定的性能,通過混部集群全面上云,實現(xiàn)了基于安全容器的新一代云原生混部技術(shù)的架構(gòu)升級;且通過基于數(shù)據(jù)智能驅(qū)動的運維、調(diào)度和管控等創(chuàng)新方法,實現(xiàn)了自動智能化的云原生混部集群管理能力,大大提高了混部集群的業(yè)務(wù)穩(wěn)定性,更進(jìn)一步降低了成本。
4. 走出阿里:從服務(wù)內(nèi)部到普惠社會
為了無法計算的價值,阿里一直把內(nèi)部多年沉淀下來的核心技術(shù)逐步推向社會。一方面通過開源,比如高效輕量的企業(yè)級富容器引擎技術(shù)Pouch,大規(guī)模低耗時的P2P分發(fā)系統(tǒng)Dragonfly;另一方面,通過阿里云,讓企業(yè)可以非常簡單的使用全球最具領(lǐng)先的企級容器技術(shù),并享受到云時代帶來的技術(shù)紅利。根據(jù)Forrester的第三方報告,阿里云的容器服務(wù)能力,中國排名第一。
應(yīng)對突變型峰值的能力也不例外。阿里云如何通過阿里的容器技術(shù)來幫助業(yè)界的呢?下面我們就來講兩種在阿里云上常見的峰值問題的解決方案。
4.1 云上電商:讓秒殺活動不再被秒殺
電商場景下,它的特點是短時間內(nèi)峰值較大,而且活動比較頻繁。在傳統(tǒng)情況下,因為彈性效率不高,所以擴容的資源平時就預(yù)置并長期處于就緒狀態(tài),費用開銷太大,另外擴容的資源需要根據(jù)活動的時間來預(yù)置,活動越密集運維工作量越大,頻繁的進(jìn)行擴縮容,手工介入越多越容易出錯,擴縮的時間長難度大。
在非業(yè)務(wù)峰值時,保持少量節(jié)點維持日常業(yè)務(wù),通過業(yè)務(wù)容器化,業(yè)務(wù)和運行環(huán)境統(tǒng)一進(jìn)容器鏡像,極大的簡化部署,并且由K8s來保障業(yè)務(wù)故障自愈高可靠,彈性伸縮等能力,容器業(yè)務(wù)的全生命周期管理都交給K8s,簡化運維工作量。當(dāng)業(yè)務(wù)峰值,原有工作節(jié)點已不能滿足當(dāng)前的業(yè)務(wù)需求,需在大促峰值前快速擴容工作節(jié)點的數(shù)量。通過已對接彈性伸縮服務(wù)ESS的能力,集群具備工作節(jié)點自動伸縮能力,我們可提前配置好自動伸縮的規(guī)則,而容器化的業(yè)務(wù)會在工作節(jié)點就緒后,迅速自動擴容并調(diào)度到可用的工作節(jié)點上去,自動配置好網(wǎng)絡(luò),并由K8s來保障應(yīng)用的高可用。當(dāng)業(yè)務(wù)峰值結(jié)束后,K8s會根據(jù)HPA(horizontal pod autoscaler)的能力將業(yè)務(wù)進(jìn)行自動縮容,業(yè)務(wù)縮容后,集群自動伸縮規(guī)則會縮容釋放工作節(jié)點。
4.2 基因計算:讓典型計算類型任務(wù)也受益于更好的彈性和混合云能力
基因行業(yè)中的基因檢測計算也是一種典型的計算場景,雖然不像前面的秒殺、雙11那樣有突發(fā)峰值的挑戰(zhàn),但是同樣也得益于容器突發(fā)彈性場景所錘煉出來的彈性性能和成本優(yōu)勢。目前,國內(nèi)70%以上的基因測序公司和研究機構(gòu)都在使用阿里云的服務(wù)。在傳統(tǒng)的模式下,由于線下資源的限制,需要幾天甚至更長的時間才能出得出結(jié)果。如果要提升計算效率,那必須要持有大量的計算資源,但這個檢測工作又不是每時每刻都需要運行的。如果采用混合云容器彈性計算的方式,那么這個問題就能迎刃而解。當(dāng)線下的數(shù)據(jù)采集完成時,通過混合云,把數(shù)據(jù)傳遞到云端,并通過容器化的彈性能力,在分鐘級內(nèi),自動快速拉起成百上千個檢測程序,從而快速完成計算。而當(dāng)檢測完成時,又在分鐘級內(nèi)快速銷毀資源,極大地降低了資源使用的成本,充分利用了云的能力。除了成本的降低,由于有了阿里云中強大的計算能力作為依托,僅用15分鐘,即可完成一個科學(xué)界普遍需要120個小時才能完成的高精度個人全基因組測序全流程。
容器已經(jīng)成為最流行的云的構(gòu)建方式和最佳的應(yīng)用運行環(huán)境。阿里巴巴自身是容器的重度用戶,加上在公有云中通過服務(wù)海量客戶積累的經(jīng)驗,配合阿里云中彈性計算ECS、神龍服務(wù)器、ESS、各種中間件和大數(shù)據(jù)服務(wù)能力等,讓阿里云在公有云、專有云或混合云,成為企業(yè)級業(yè)務(wù)上云和數(shù)字化改造的最佳實踐。
4.3 12306的故事:幫助每個回家的人
12306是我們每個人都熟悉的應(yīng)用,它是一個以售票業(yè)務(wù)為核心的交易系統(tǒng),用戶在購票之前需要做余票查詢,尤其是在十一、春運這樣的特殊情景下,12306必須提供海量數(shù)據(jù)查詢服務(wù),是系統(tǒng)中最重要的一個環(huán)節(jié)。在傳統(tǒng)IT解決方案里,為了每年一次的春運,需要按照峰值采購大量硬件設(shè)備;春運后,這些設(shè)備會處于空閑狀態(tài),造成巨大資源浪費。另一個致命問題是,按照傳統(tǒng)方案,如果春運峰值流量超出預(yù)期,服務(wù)將面臨癱瘓,而大規(guī)模服務(wù)器的采購、上架、部署調(diào)試至少需要耗費一兩個月時間,是完全來不及的。在這種情況下,將業(yè)務(wù)上云并且充分利用阿里云提供的彈性能力,可以將成本優(yōu)勢發(fā)揮到極致,同時完全滿足業(yè)務(wù)的需求。從十一到春運這些旅游出行高峰時刻,阿里云上的余票查詢業(yè)務(wù)每次擴容的資源交付在分鐘級就能完成,并且可以做到在流量洪峰過后將資源進(jìn)行及時的釋放,大大降低成本的同時,也讓每個人都能體會到流暢的購票體驗。
5、 總結(jié)
突變型峰值服務(wù)中的云計算技術(shù)突破,最初源自阿里巴巴自身的電商特點和阿里工程師們勇于面對困難的精神,也凝結(jié)了阿里工程師和國內(nèi)高校的高水平團(tuán)隊的心血。隨著相關(guān)技術(shù)難點的陸續(xù)攻克,我們發(fā)現(xiàn)在當(dāng)前日新月異的發(fā)展大潮中,我們的技術(shù)可以幫助社會解決更多、更加重要的問題,對此我們深感自豪。這里我們引用鄔江興院士對本項目的評價作為總結(jié):
“‘面對突變型峰值服務(wù)的云計算關(guān)鍵技術(shù)與系統(tǒng)’體現(xiàn)了我國科技創(chuàng)新的一種特有模式:超大規(guī)模市場中蘊含的巨大技術(shù)挑戰(zhàn),讓很多只有通過大規(guī)模應(yīng)用的經(jīng)驗及教訓(xùn)反復(fù)迭代錘煉的技術(shù)能夠百煉成鋼,而且量變的過程必然會伴隨質(zhì)的飛躍,期間無疑會內(nèi)生出不竭的科技創(chuàng)新動力。過去大家可能對互聯(lián)網(wǎng)企業(yè)有偏見,覺得他們沒有硬件廠商技術(shù)含量高,但能滿足全球最大規(guī)模用戶群的需求,背后一定是有全球最頂尖的技術(shù)能力支撐的。”
標(biāo)簽
熱門文章更多>
- 南昌阿里云代理商:阿里云服務(wù)器網(wǎng)站訪問速度慢怎么排查?
- 貴陽阿里云代理商:阿里云服務(wù)器遷移需要注意哪些問題?
- 昆明阿里云代理商:阿里云服務(wù)器海外地域怎么選擇?
- 云服務(wù)器SSL配置完成后為什么還提示不安全?常見原因排查
- 阿里云SSL證書怎么部署?開啟HTTPS后還需要做哪些安全設(shè)置
- 企業(yè)VPN網(wǎng)關(guān)怎么搭建?本地機房連接云服務(wù)器內(nèi)網(wǎng)完整思路
- 濟(jì)南阿里云代理商:阿里云服務(wù)器公網(wǎng)IP有什么作用?
- 青島阿里云代理商:阿里云ECS快照和備份有什么區(qū)別?
- 鄭州阿里云代理商:阿里云服務(wù)器4核16G適合哪些業(yè)務(wù)?
- 北京阿里云代理商:阿里云ECS服務(wù)器如何選擇實例規(guī)格?
- 廣州阿里云代理商:阿里云服務(wù)器5M帶寬夠不夠用?
- 上海阿里云代理商:阿里云服務(wù)器企業(yè)采購要注意哪些問題?
- 阿里云代理商:阿里云服務(wù)器快照有什么作用?
- 阿里云代理商:阿里云CDN和OSS怎么搭配使用?
- 阿里云代理商:阿里云負(fù)載均衡SLB是什么?
- 深圳阿里云代理商:ECS部署SSL證書與到期提醒配置全攻略
- 上海阿里云代理商:阿里云服務(wù)器SSL證書備份方案
- 北京阿里云代理商:RDS讀寫分離配置指南
- 重慶阿里云代理商:用好 OSS 生命周期 降低長期存儲花費
- 上海阿里云代理商:DMS 多庫同步搭建 異構(gòu)數(shù)據(jù)庫集成實操

