阿里云化架構創(chuàng)新之路_第1頁
阿里云化架構創(chuàng)新之路_第2頁
阿里云化架構創(chuàng)新之路_第3頁
阿里云化架構創(chuàng)新之路_第4頁
阿里云化架構創(chuàng)新之路_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 阿里云化架構創(chuàng)新之路雙11推動了阿里技術的進步,它有哪些挑戰(zhàn)?互聯(lián)網級規(guī)模,每天有數(shù)億人在阿里網站上進行交易;企業(yè)級復雜度,每完成一筆交易都需要數(shù)百個系統(tǒng)的服務支撐;金融級的穩(wěn)定性,每一筆交易都必須保證其完整性和正確性;雙11存在數(shù)十倍的業(yè)務峰值,要求系統(tǒng)絕對穩(wěn)定。阿里巴巴9年雙11經歷下來,交易額增長了280倍、交易峰值增長800多倍、系統(tǒng)數(shù)呈現(xiàn)爆發(fā)式增長。系統(tǒng)在支撐雙11過程中的復雜度和支撐難度以指數(shù)級形式上升。雙11的峰值的本質是用有限的成本最大化的提升用戶體驗和集群吞吐能力,用合理的代價解決峰值。面對增長如何發(fā)揮規(guī)模效應,持續(xù)降低單筆交易成本以提升峰值吞吐能力,為用戶提供絲般順滑的瀏

2、覽和購物體驗,是極大的挑戰(zhàn)。隨著分布式架構、異地多活、限流降級、全鏈路壓測等技術的突破,擴展性和穩(wěn)定性問題得到了很好的解決。系統(tǒng)架構伴隨9年雙11的發(fā)展一代一代向后演進,每一年都有很大的提高。08年開始阿里巴巴著手系統(tǒng)從由集中式架構變成分布可擴展架構,其中沉淀了大量互聯(lián)網中間件技術。13年通過異地多活的架構演進,把阿里完整的交易單元部署到全國各個城市站點,實現(xiàn)了地域級水平擴展。這兩種技術的疊加解決了整個雙11擴展性問題。由于分布式架構的演進,系統(tǒng)穩(wěn)定性問題開始凸顯、系統(tǒng)復雜度急劇上升、多個系統(tǒng)間協(xié)同出現(xiàn)問題。我們建設了限流降級、預案體系、線上管理管控體系。在2013年時做了雙11備戰(zhàn)的核心武器

3、全鏈路壓測。它能對整個系統(tǒng)的依賴關系里跟雙11有關的部分進行完整的用戶級的線上大流量真實場景讀寫壓測,使系統(tǒng)提前經歷幾次“雙11”,驗證整個線上生產環(huán)境處理能力,及時發(fā)現(xiàn)問題并修復。云化架構的演進由于雙11本身峰值增長很快,當我們做好了系統(tǒng)的穩(wěn)定性后,發(fā)現(xiàn)硬件、時間、人力成本的消耗很大。成本挑戰(zhàn)的出現(xiàn)推動我們解決IT成本的問題,即服務器資源問題。首先來看云化架構演進背景。上圖為阿里業(yè)務六個月的峰值數(shù)據(jù)表。表中兩個最大的峰值依次代表雙11和雙12的交易峰值,其他較小的峰值是日常交易峰值,紅線代表日常準備系統(tǒng)服務器資源的處理能力。在13年之前,我們采購大量的服務器資源以支撐雙11流量高峰。高峰過去

4、后,長時間低效運行產生很大的資源浪費,這是非常粗放的預算和資源管理模式。阿里的多種業(yè)務形態(tài)產生了多種集群,每個集群之間運維體系差異較大、各個板塊無法互用、資源整體彈性能力不足導致雙11無法借用這些資源。每個板塊的資源池有不同的buffer,每個資源池的在線率、分配率和利用率無法統(tǒng)一。我們通過云化架構提高整體技術效率和全局資源的彈性復用能力。例如某個不做雙11的集群把資源貢獻出來給雙11的交易使用。由于云能提供雙11正需要的彈性能力,所以我們也開始大量使用阿里云來解決雙11成本問題,通過拉通技術體系來降低大促和日常整體成本,提出通過云化架構來實現(xiàn)雙11單筆交易成本減半的目標。先來梳理一下整個運維

5、體系現(xiàn)狀。我們將集群大致分在線服務集群、計算任務集群、ECS集群三類。這三種集群上的資源管理和基礎運維、調度都是獨立的。它們有各自的調度編排能力,在線服務Sigma調度、計算任務的Fuxi調度、ECS的Cloud Open API;它們在生產資源、資源供給、分配方式上也是不同的。在線服務用的是容器、計算任務調度最后生產的是LXC的輕量級隔離封裝容器、云生產的是ECS;它們在應用層上運維集群管理也是不一樣的。最上層業(yè)務層跑的任務也不一樣。在線服務器跑的是在線業(yè)務如交易搜索廣告、有狀態(tài)的存儲。計算集群跑的是大數(shù)據(jù)分析的任務,云集群跑的是各式各樣的外部客戶的任務。通過技術全面云化逐層進行重構升級,建

6、設彈性復用的能力實現(xiàn)全局統(tǒng)一調度。在線任務和計算任務混合部署,通過統(tǒng)一運維部署和資源分配的標準化提高調度效率,以此來實現(xiàn)容量的自動交付。所以我們需要做全面容器化,利用公有云,發(fā)揮云的彈性能力,減小自采基礎設施的投入。通過混合云彈性架構和一鍵建站復用阿里云的能力,降低雙11的成本。利用阿里云做到以前一年的資源持有時間縮減到只需1-2個月。統(tǒng)一調度體系始于2011年建設的Sigma是服務阿里巴巴在線業(yè)務的調度系統(tǒng),圍繞Sigma有一整套以調度為中心的集群管理體系。Sigma是有Alikenel、SigmaSlave、SigmaMaster三層大腦聯(lián)動合作,Alikenel部署在每一臺NC上,對內核

7、進行增強,在資源分配、時間片分配上進行靈活的按優(yōu)先級和策略調整,對任務的時延,任務時間片的搶占、不合理搶占的驅逐都能通過上層的規(guī)則配置自行決策。SigmaSlave可以在本機上進行CPU的分配、應急場景的處理。通過本機Slave對時延敏感任務快速做出決策和響應,避免因全局決策處理時間長帶來的業(yè)務損失。SigmaMaster是一個最強的大腦,它可以統(tǒng)攬全局,為大量物理機的容器部署進行資源調度分配和算法優(yōu)化決策。整個架構是面向終態(tài)的設計理念,請求進來后把數(shù)據(jù)存儲到持久化存儲,調度器識別調度需求分配資源。系統(tǒng)整體的協(xié)調性和最終一致性是非常好的。我們在2011年開始做調度系統(tǒng),2016年用Go語言重寫

8、,2017年兼容了kubernetes API,希望和開源社區(qū)共同建設和發(fā)展。發(fā)揮統(tǒng)一調度,集中管理的優(yōu)勢,釋放了規(guī)模效益下的一些紅利。在線服務的調度和計算任務調度下有各種業(yè)務形態(tài),它們在一層調度上進一步細分成二層調度,通過合并資源池提升利用率和分配率,合并buffer進行空間維度的優(yōu)化實現(xiàn)全局打通。全局打通后進行彈性分時復用、時間維度的優(yōu)化,共節(jié)省超過5%的資源。由于基數(shù)大,這個優(yōu)化效果是非??捎^的。阿里巴巴在2014年開始推動混部架構,目前已在阿里巴巴內部大規(guī)模部署。在線服務屬于長生命周期、規(guī)則策略復雜性高、時延敏感類任務。而計算任務生命周期短、調度要求大并發(fā)高吞吐、任務有不同的優(yōu)先級、對

9、時延不敏感?;谶@兩種調度的本質訴求的不同,所以我們在混合部署的架構上把兩種調度并行處理,即一臺NC物理機上可以既有Sigma調度又有Fuxi調度。Sigma調度是通過SigmaAgent調用OCI標準的RunC 、RunV、 RunLXC 三種標準來啟動Pouch容器。Fuxi也在這臺NC物理機上搶占資源,啟動自己的計算任務。所有在線任務都在Pouch容器上,它負責把服務器資源進行分配切割通過調度把在線任務放進去,離線任務填入其空白區(qū),保證物理機資源利用達到飽和,這樣就完成了兩種任務的混合部署。混部的關鍵技術內核資源隔離上的關鍵技術在CPU HT 資源隔離上,做了Noise Clean內核特

10、性,解決在/離線超線程資源爭搶問題。在CPU調度隔離上,CFS基礎上增加Task Preempt特性,提高在線任務調度優(yōu)先級。在CPU 緩存隔離上,通過CAT,實現(xiàn)在、離線三級緩存(LLC)通道隔離(Broadwell及以上)。在內存隔離上,擁有CGroup隔離/OOM優(yōu)先級;Bandwidth Control減少離線配額實現(xiàn)帶寬隔離。在內存彈性上,在內存不增加的情況下,提高混部效果,在線閑置時離線突破memcg limit;需要內存時,離線及時釋放。在網絡QoS隔離上,管控打標為金牌、在線打標為銀牌、離線打標為銅牌,分級保障帶寬。在線集群管理上的關鍵技術對應用的內存、CPU、網絡、磁盤和網絡

11、I/O容量進行畫像,知道它的特征、資源規(guī)格是什么,不同的時間對資源真實使用情況如何,然后對整體規(guī)格和時間進行相關性分析,進行整體調度優(yōu)化。親和互斥和任務優(yōu)先級的分配,哪種應用放在一起使整體計算能力比較少、吞吐能力比較高,這是存在一定親和性。不同的場景有不同的策略,雙11的策略是穩(wěn)定優(yōu)先,穩(wěn)定性優(yōu)先代表采用平鋪策略,把所有的資源用盡,讓資源層全部達到最低水位。日常場景需要利用率優(yōu)先,“利用率優(yōu)先”指讓已經用掉的資源達到最高水位,空出大量完整資源做規(guī)?;氖隆米龅阶詣邮湛s,分時復用。整個站點的快速擴容縮容,彈性內存技術。計算任務調度+ODPS上的關鍵技術有彈性內存分時復用、動態(tài)內存超賣、無損降

12、級與有損降級三個關鍵混部技術。動態(tài)內存超賣指內存是可以超賣的,如果有在線任務要用,就快速歸還。有損降級和無損降級的策略指的是對影響在可接受范圍內的波動干擾進行無損降級,不增加新任務,慢慢把它降下來,對影響大的干擾直接殺掉任務屬于有損降級。利用零層管控,管理每臺NC上的在線任務和離線任務之間的關系?;旌喜渴鹬笇⒂嬎闳蝿找朐诰€服務集群以提升日常資源效率。把離線任務引入后,CPU平均利用率從10%上升到40%以上,同時敏感類應用的延遲影響時間小于5%,屬于完全可接受范圍。目前我們整個混部集群已達到數(shù)千臺的規(guī)模,經過了交易核心鏈路雙11大促的驗證。這項優(yōu)化可以為日常節(jié)省超過30%的服務器。由于涉及到

13、硬件的迭代和網絡的迭代,需要一個很長的準備周期,所以我們預計明年會擴大10倍的部署規(guī)模。通過分時復用,達到進一步提升資源效率的效果。上圖中的曲線是我們某個應用的流量曲線。它是非常有規(guī)律的,左邊代表晚上波谷期,右邊代表白天處于波峰期。正常的混部指占用圖中藍色陰影部分的資源把利用率提高到40%,彈性分時復用技術是指對應用畫像找到應用流量波谷期,對應用縮容,大量釋放內存和CPU,調度更多計算任務。通過這項技術,把平均CPU利用率提升到60%以上。在雙11時,如何利用計算任務集群混合部署助力雙11降低成本?我們把計算任務集群分成三種狀態(tài):完全沒有在線服務的狀態(tài)、在線服務和計算任務共同存在的過渡狀態(tài)、雙

14、11時在線服務占主流計算任務短時間降級狀態(tài)。集群混合部署后資源分配三七開,計算任務可以搶占在線任務分配的資源;在壓測和大促非峰值時資源分配五五開;在大促峰值到來時,計算任務短時間降級,空閑資源支持支撐雙11峰值。通過一小時快速建站拉起完整交易站點,大幅度降低了雙11的單筆交易成本。Pouch容器和容器化的進展全面容器化是提升運維能力、拉通運維差異的關鍵的技術。首先介紹一下阿里巴巴內部容器技術產品Pouch。它從2011年開始建設和上線,基于LXC,在2015年初開始吸收Docker鏡像功能和很多標準。阿里巴巴的容器非常有特點,它結合了阿里內核,大幅度提高了它的隔離性,目前以百萬級規(guī)模部署于阿里

15、集團內部。再來了解一下Pouch的發(fā)展路線。以前用的是虛擬機的虛擬化技術,虛擬化技術過渡到容器技術面臨著很多運維體系的挑戰(zhàn)。運維體系的遷移是一個很大的技術成本。我們做到了阿里內部運維和應用視角,有獨立IP,能夠ssh登錄,有獨立的文件系統(tǒng)和資源隔離使用量可見性。2015年以后,阿里巴巴引入Docker 標準,形成了新的一套容器Pouch并集成整個運維體系。Pouch的隔離性非常好,是富容器,可以登錄容器,看到容器內進程自己占的資源量,有多少進程,進程掛了容器是不會掛的,可以運行很多的進程。兼容性很好, 舊版本和以后的版本都支持,對利舊很有幫助。同時他經過了百萬級容器部署的規(guī)?;炞C,我們研發(fā)了

16、一套P2P鏡像分發(fā)機制,大幅度提升分發(fā)效率。同時兼容了業(yè)界更多標準,推動標準的建設,支持RunC 、RunV 、RunLXC等標準。Pouch的結構是比較清晰的,Pouchd如何跟kubelet、swarm、Sigma交互。在存儲上跟業(yè)界一起建設了CSI標準。支持分布式存儲如ceph、pangu。在網絡上使用lxcfs增強隔離性,支持多種標準。目前Pouch化覆蓋了阿里的大部分BU,2017年達到百萬級部署,在線業(yè)務達到100%容器化,計算任務也開始容器化,它拉平了異構平臺的運維成本。覆蓋運行模式,多種編程語言,DevOps體系。Pouch覆蓋了阿里幾乎所有業(yè)務板塊如螞蟻、交易、中間件等等。P

17、ouch于2017年10月10號宣布開源,11月19日正式開源,把代碼放到/alibaba/pouch上,計劃在2018年03月發(fā)布第一個大版本。我們希望通過Pouch的開源推動容器領域的發(fā)展和標準的成熟,給業(yè)界提供差異化有競爭力的技術選擇。不僅方便傳統(tǒng)IT企業(yè)利舊,老的基礎設施也同樣能夠享受容器化帶來的運維層的好處和優(yōu)勢,而且方便新的IT企業(yè)享受規(guī)?;€(wěn)定性和多標準兼容性帶來的優(yōu)勢。在存儲計算分離上,由于有狀態(tài)任務需要復制狀態(tài),會嚴重影響分時復用運維自動化程度和調度效率。我們在云化過程中實現(xiàn)了存儲計算分離技術。由于計算集群和在線服務不在一個機房,計算任務的數(shù)據(jù)需要先緩存到在線業(yè)務的集群上,所

18、以我們搭了一個緩存橋頭堡,然后進行計算。隨著機房結構的調整和網絡的優(yōu)化,我們開始對在線計算同時進行存儲計算分離。目前已經實現(xiàn)去橋頭堡方案,不受網絡長傳帶寬的限制,減少了大集群跨網絡核心對穿流量,提升了調度的靈活性。存儲計算分離技術不僅可以使用阿里盤古技術,同時也兼容業(yè)界這一套容器上的存儲標準,這也是阿里實現(xiàn)云化架構的非常關鍵的技術。在網絡架構的升級上,我們大規(guī)模使用25G網絡,在公有云上使用VPC,overlay能云上、云下和數(shù)據(jù)集群整個網絡打通,這也是阿里大規(guī)?;旌喜渴鸬那疤?。云化架構和雙11未來技術路線這是阿里混合云彈性架構,是基于編排的一套技術體系,也是面向動態(tài)的架構。它可以分鐘級進行單

19、元的擴容和縮容,快速在云上或大數(shù)據(jù)集群上建立交易單元,實現(xiàn)秒級巡檢,確保交付的可靠性。這套體系能持續(xù)降低資源持有時間和服務器的非ONLINE時間,降低損耗時間,提升了彈性的效率。雙11超過60%的峰值流量都跑在阿里云上,全面使用阿里云彈性基礎設施,8個小時快速構建全球最大混合云。雙11云化架構運維體系介紹將資源分為在線任務集群、計算任務集群和ECS集群。資源管理,單機運維、狀況管理,命令通道、監(jiān)控報警這類基礎運維體系已經打通。在雙11場景中,我們會在云上劃出一個獨立的區(qū)域與其他場景互通。在互通區(qū)域,Sigma調度可以到計算集群服務器里申請資源,生產Pouch容器,也可以到cloud open

20、API去申請ECS,生產出容器的資源。在日常的場景中Fuxi可以到sigma里申請資源,創(chuàng)建需要的容器。在雙11場景中,利用應用和規(guī)模化運維在容器上構建大量在線服務,包括業(yè)務層的混合部署,每個集群都有online service和有狀態(tài)服務及大數(shù)據(jù)分析。阿里云的獨占集群也部署了在線服務和有狀態(tài)的數(shù)據(jù)服務,做到了datacenter as a computer,多個數(shù)據(jù)中心像一臺計算機一樣來管理,實現(xiàn)跨多個不同的平臺來調度業(yè)務的發(fā)展所需要的資源。構建了混合云用極低的成本拿到服務器,解決有沒有的問題。先有服務器規(guī)模,再通過分時復用和混合部署來大幅度提升資源利用率。真正實現(xiàn)了彈性資源平滑復用任務靈活混合部署,用最少的服務器最短的時間和用最優(yōu)效

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論