后羿射日般的精準 阿里雲ECS排程是如何煉成的

2021-09-13 17:58:19 字數 4046 閱讀 4504

摘要: 彈性計算服務ecs(elastic compute service)是阿里雲營收的中流砥柱和流量擔當。作為各行業客戶新業務和技術創新的發動機和使能者,ecs不僅能在10分鐘內交付出乙個中等體量網際網路公司所需的全部計算力,更能承載阿里集團雙十一極大的峰值彈性需求以及網際網路巨頭客戶業務高峰所需的計算力,幫助所有使用者打破計算力邊界的限制。

1.引子

彈性計算服務ecs(elastic compute service)是阿里雲營收的中流砥柱和流量擔當。作為各行業客戶新業務和技術創新的發動機和使能者,ecs不僅能在10分鐘內交付出乙個中等體量網際網路公司所需的全部計算力,更能承載阿里集團雙十一極大的峰值彈性需求以及網際網路巨頭客戶業務高峰所需的計算力,幫助所有使用者打破計算力邊界的限制。而默默工作在舞台背後的正是ecs的排程系統,那個傳說中的「后羿」。作為乙個建立交付了不計其數的虛擬機器的資源排程系統,后羿帶來的感覺就像蒙娜麗莎的微笑,神秘而好奇。今天就讓我們扒一扒「后羿」的前世與今生。

2.上古起源:后羿誕生

時光機回到2023年,那時全球的科技公司都在布局著雲計算,演繹的精彩絕倫、百家爭鳴,一如當下風口上的區塊鏈、人工智慧和新零售。也就在這一年,阿里雲初試鶯啼,在雲計算領域開天闢地,自主研發了盤古、女媧、神農、夸父和伏羲。這些上古大神共同組成了阿里雲的雲計算基礎系統平台--飛天apsara系統。后羿的誕生也就水到渠成,它基於飛天將計算(host)、網路(ip)和儲存(pangu塊儲存)等資源統一排程並通過虛擬化技術生產出一台臺可交付給使用者使用的虛擬伺服器。2023年5月,第乙個ecs集群在北京上線了。此時的后羿還是乙個單純的小朋友,幹的活就是虛擬機器生產線的流程控制,頭腦(排程策略)也相對比較簡單,因為乙個集群內都是同等機型、同一網路pod、同乙個pangu儲存,所以基本都是按靜態資源分配的方式進行排程選擇。

3.工業革命:野蠻生長

唯快不破!是,就是這麼快進入「工業革命」了!雖然后羿還沒來得及懵懂幾下,但因為ecs上線之後,業務量發展非常迅猛,妥妥地成為阿里雲增長最快的業務,沒有之一。ecs很快用事實證明以虛擬機器的方式**計算力是雲計算商業化最合適的路徑,它好比工業時代的蒸汽機,推動著阿里雲進入了野蠻生長的時代。

ecs的規模很快達到了近百個飛天集群,而且每週都在繼續部署新的集群,加上每週至少發布乙個新版本,這樣的節奏讓我們原來維護和公升級后羿系統的同學不堪重負。哇,那些年一起使出洪荒之力的同學,還記得苦苦掙扎的模樣嗎?伴隨著規模的增長,后羿面對的簡單小世界一下子變成了星辰大海,排程面臨的複雜度與日俱增,需要突破網路pod,需要突破機房。成長的煩惱不可避免,新的系統架構設計目標,大region級別的資源管理排程能力,快速迭代開發……

好在借力集團的技術支撐,后羿採用了分布式服務的技術逐步重構演進。這期間最大的挑戰是業務在發展,不可能停下來給我們幾個月的時間去完成這個任務。我們使用先搭框架、再小步遷移的方案,在不影響業務發展的前提下,把乙個乙個功能模組,從功能遷移到資料遷移,逐步完成系統公升級切換,用時髦的話講這是給飛行中的飛機換引擎。換了引擎的后羿,從原來的單集群管控系統,公升級到了基於分布式服務架構實現的大region多機房管控系統;排程策略由原來的集群內簡單的資源分配模型公升級到目前經典的過濾器+權重因子評分模型;管理規模也由一套管控對應最大數百台物理機的集群變成了目前的一套管控可以管理數萬物理機規模的集群。經過工業革命的錘煉,我們的后羿小夥子長大**了。

這個時期ecs逐步完善的上層業務系統,主要提供了幾大能力:

標準化的ecs open api介面,對接官網售賣和api使用者;

售賣約束,接入阿里雲計費系統,實現了ecs特有的計費模式(包年包月、按量付費等);

在集群粒度配置業務屬性和售賣規格,按使用者的需求排程集群;

基本的庫存服務和水位控制。

4.資訊時代:漸入佳境

如果說工業革命時代是規模這個單維度縱向量的高速發展,那麼資訊時代則是個性化、多元化的多維度發展。一方面,ecs吸引了越來越豐富的客戶群體,需求越來越多樣化,包括不同的**需求、穩定性需求、地域需求等等,這就需要ecs包裝出不同特點的產品滿足不同的客戶場景。另一方面,ecs相關的技術**也帶來了「百家爭鳴」的盛況:虛擬網路團隊重點推出了使用者可以定製的vpc網路;塊儲存團隊推出高效能的ssd雲盤和高價效比的混合ssd雲盤,而essd雲盤則實現了價效比和高效能的雌雄同體;虛擬化團隊從最初的xen全面遷移到kvm,同時推出了異構計算gpu、fpga虛擬化技術,並開始自研新一代的彈性裸金屬雲伺服器(神龍)。如此多的新產品和新特性對接的是底層幾十種物理機型、多種網絡卡和網路架構、多種虛擬化方案和虛擬儲存以及多種版本的虛擬網路。實現產品到資源的精準排程,並最大化資源使用效率,這,就是資訊時代下的后羿系統需要提供的基本能力。

在野蠻生長期,集群級的排程由上層業務層負責、集群內的排程由后羿負責,因為當時每個集群部署一種業務,團隊的設定也是按這樣分兩層。但現在為了支撐豐富的產品形態和優化庫存效率,同一集群內的每個物理機都可能售賣不同的產品規格,原來那種分層的排程顯然已經不合時宜了。我們進行了一次合體手術,重新定義了上下系統的職責分工,上層業務系統負責業務功能,下層后羿系統負責所有的排程相關邏輯。統一了排程邏輯,不僅僅大大提高了后羿的排程能力,同時可以讓排程技術驅動產生了更多豐富的產品形態。列舉下這個時期排程技術主要支撐的系統功能和產品:

彈無虛發-的精準排程

后羿基於tag標籤對資源進行分組和篩選,可在az大範圍內實現精細的產品規格排程。豐富的權重因子,讓后羿可以在多個目標下權衡出最優的排程決策,最佳配比裝箱(最少碎片)那是最低要求,其他的隨便舉幾個例子:

deployment set:滿足使用者自定義的部署位置要求,例如物理機粒度打散幾個vm

資源消費打散:保障效能sla,提公升使用者體驗

客戶vm打散

機架功耗平衡

……神機妙算的庫存精細管理

其實vm排程只是后羿的業務愛好,庫存管理才是后羿的本職工作。由於產品形態的多樣性,同乙個地域同乙個產品規格按不同付費型別、不同的付費時間計算出來的庫存資料都是不同的!很多人知道電商的必殺技之一就是庫存和**鏈管理,后羿其實就是乙個在網上賣vm的掌櫃而已啦。他在背後可是耍了很多小聰明的:

庫存水位控制:保障每個可用區的每個產品的在接近斷供時可以保障剛需彈性擴容和公升級需求;

庫存共享:應付多種產品的不時之需;

庫存**:**銷售並相應地進行庫存調配

賣跳樓價的競價例項

1折的跳樓價后羿掌櫃也敢賣?!是的,他已經賣好久了。這是一種叫競價例項的遊戲,而在遊戲中坐莊的正是后羿。說白了,他就是把那些暫時空在那裡的資源拿出來臨時賣一下。為什麼是」臨時「?因為后羿在庫存充裕時才賣競價例項,庫存緊張時就要收回去。但是**例項也是有講究的,不是隨便**的,比如要保證至少執行1小時,要提前5分鐘通知,如此等等。那為什麼要競價?在資源緊張的地區多賣點錢?其實更重要的是跟庫存的聯動,是一種**槓桿,讓客戶主動去選擇**便宜庫存充足的地區和規格。這其實就是排程客戶,背後的道道其實真不少。

火中取栗的效能突發例項

競價例項雖**便宜,量又足, 無奈的是因為它會被隨時中止釋放,所以適合的業務場景有限或者需要技術能力架構適配才能愉快使用。 有沒有**便宜,又不用擔心被釋放的高價效比例項型別呢?**便宜、服務有保障的效能突發例項了解一下。這是后羿掌櫃和ecs強大的虛擬化團隊的一次高水平運作,可謂火中取栗。但在強大的技術保障下,后羿把乙個物理執行緒掰成小片片拿出來賣,而且還能保障sla。計算力在空閒時積攢人品(credit),在需要突發計算力時來消費人品(credit),未來還能拿錢來買credit。

智慧型未來:演繹神話

未來的大門已然開啟,智慧型的時代已經到來。在經歷了野蠻生長和豐富功能的階段後,后羿步入了深水區,需要更多的智慧型和更廣闊的視野來精耕細作。雲計算的核心競爭力之一就是價效比,后羿未來要做的就是資料驅動的全鏈路、精細化的庫存調配和排程一體化的大閉環,並在各個環節上挖掘使用更智慧型的方法帶來的紅利,從資料的視覺化、到運營的自動化到最後實現綜合的智慧型化。

后羿的故事還在繼續。伴隨著ecs業務的發展,風風雨雨的路上,我們眼裡一路奇峰異景,執著前進!塊儲存、虛擬化、虛擬化網路、ecs管控,一群有情有義的兄弟姐妹,乙個凝聚力彪悍的團隊。當然,后羿是站在了巨人的肩膀上,他的成長離不開飛天雲計算平台強大的核心技術和阿里雲各個產品的all-in支援!很慶幸在阿里集團,兄弟團隊無私的合作和幫助,能讓后羿未來真正可以成為乙個業界的神話。

仿射變換 3 一般的仿射變換

一般的仿射變換是下面五種變換的組合 旋轉,平移,縮放,錯切,翻轉。仿射變換能夠保持影象的平直性和平行性。平直性是指 影象經過仿射變換後,直線仍然是直線。平行性是指 影象經過仿射變換後,平行線仍然是平行線。opencv提供了cv2.getaffinetransform 來生成仿射變換所使用的矩陣m。步...

2007 08 24 日誌 真正如里程碑般的日誌

心裡徹底亂了 不知道是被什麼因素激發了 是很在乎的朋友突然不知去向?還是女友充滿稚氣的問候?是任務來臨時的茫然?還是新長出的肚子?是測試工作沒有頭緒?還是追不上新開發知識的發展?是女企業家撤消對貧困生的助學金引起的內心 或者乾脆是一年前的舊傷在潛意識裡 只是大腦保護性地拒絕回憶?一不小心,自己怎麼搞...

2007 08 24 日誌 真正如里程碑般的日誌

心裡徹底亂了 不知道是被什麼因素激發了 是很在乎的朋友突然不知去向?還是女友充滿稚氣的問候?是任務來臨時的茫然?還是新長出的肚子?是測試工作沒有頭緒?還是追不上新開發知識的發展?是女企業家撤消對貧困生的助學金引起的內心 或者乾脆是一年前的舊傷在潛意識裡 只是大腦保護性地拒絕回憶?一不小心,自己怎麼搞...