2014WOT峰會彈性計算專場報道
原創(chuàng)11月21-22日在深圳圣淘沙酒店,51CTO傳媒將舉辦WOT全球軟件技術(shù)峰會,WOT全稱是「World of Tech」,是51CTO開創(chuàng)的技術(shù)峰會。秉承專注技術(shù),服務技術(shù)人群的理念,自 2012年首次舉辦以來,歷經(jīng)4屆,積累了大量的技術(shù)資源,成為廣大技術(shù)從業(yè)者和技術(shù)愛好者一致認可的技術(shù)分享大會、交流平臺和人脈拓展平臺。
21號下午,51CTO聯(lián)合阿里云在深圳圣淘沙酒店主辦彈性計算專場,結(jié)合阿里云業(yè)務特點和優(yōu)勢,在彈性計算的虛擬化選型,優(yōu)化,容災,安全方面解讀彈性計算平臺底層系統(tǒng)架構(gòu)和演進,剖析SLB等云產(chǎn)品的技術(shù)原理,給開發(fā)者帶來一場技術(shù)的盛大聚會。
首先由阿里巴巴集團核心系統(tǒng)部內(nèi)核組資深技術(shù)總監(jiān) 馬濤為我們帶來《阿里云彈性計算平臺底層系統(tǒng)架構(gòu)的實現(xiàn)》,在會議中,馬濤老師一開始就給開發(fā)者介紹了阿里云彈性計算的總體架構(gòu)以及存儲底層基礎架構(gòu)情況。
在講到存儲架構(gòu)的時候,馬濤老師還介紹了四種寫IO的模式,它們分別是:buffer write、direct write、write+sync、O_SYNC。對于如何保證VM中應用程序的數(shù)據(jù)完整性和CACHE系統(tǒng)數(shù)據(jù)符合程序的預期這個問題,馬老師認為,通過VM數(shù)據(jù)完整性語義透傳IO全鏈路可以更加的對數(shù)據(jù)完整性得到保障,其方式分別是VM SYNC->PV前端FLUSH->后端->host->cache系統(tǒng)->盤古分布式存儲系統(tǒng)。
當我們在使用以上四種寫IO模式的時候,還涉及到了一個數(shù)據(jù)安全的問題。這些網(wǎng)絡底層基礎架構(gòu)到底在哪方面有問題呢?馬老師指出了MAC表項和ARP pps兩個比較普遍的問題。在這些問題也給出了比較方便的解決方案。
最后,馬濤老師還詳細講解了網(wǎng)絡虛擬化架構(gòu)的演講(VPC),同時還認為能夠幫助用戶基于云計算網(wǎng)絡建立一個完全隔離的私有網(wǎng)絡環(huán)境。通過虛擬路由器,虛擬交換機,自定義路由,安全組等功能組件,可以按需配置私有網(wǎng)絡的邏輯拓撲和網(wǎng)絡配置。
為了實現(xiàn)應用平滑遷移,用戶可以使用專線或VPN將虛擬專有網(wǎng)絡與原有物理網(wǎng)絡之間連接起來,組成一個混合網(wǎng)絡域。
第二場是由阿里云高級技術(shù)總監(jiān)吳佳明(花名:普空)為大家?guī)砹恕禨LB技術(shù)與原理剖析》,吳老師介紹了SLB集群模塊以及組建的總體架構(gòu)。
其中吳老師還指出了四種使用注意事項,其中包含著TCP和HTTP,四層和七層架構(gòu),會話保持以及VM配置。
在介紹LVS的歷史問題時,吳老師還特別說明了LVS是一個開源的軟件,由畢業(yè)于國防科技大學的章文嵩博士于1998年5月創(chuàng)立,可以實現(xiàn)LINUX平臺下的負載均衡。LVS是Linux Virtual Server的縮寫,意思是Linux虛擬服務器。
而Tengine是阿里巴巴發(fā)起的Web服務器項目,其在Nginx的基礎上,針對大訪問量網(wǎng)站的需求,添加了很多高級功能和特性:
1. 繼承Nginx-1.4.6的所有特性,100%兼容Nginx的配置;
2. 負載均衡:一致性hash、會話保持、后端服務器健康檢查;
3. 顯示對運維人員更友好的出錯信息,便于定位出錯機器;
4. 支持HOTCONF;
接著介紹了負載均衡技術(shù)時,分別詳細做出了技術(shù)分析,吳老師認為通過DNS能夠?qū)崿F(xiàn)跨region服務冗余,而SLB則能夠?qū)崿F(xiàn)外部公網(wǎng)多臺VM服務冗余,VIP Server實現(xiàn)內(nèi)部私網(wǎng)多臺VM服務冗余。
最后一個是由阿里集團核心系統(tǒng)部技術(shù)總監(jiān)鄧明鑒(花名:竹莊)講解了《阿里云助力彈性伸縮服務介紹》,那么什么是彈性伸縮服務呢?鄧老師介紹說,第一,彈性伸縮服務(Elastic Scaling Service) 是根據(jù)用戶的業(yè)務需求和策略,自動調(diào)整其彈性計算資源的管理服務,其次這誰可根據(jù)客戶業(yè)務的增長或降低,自動增加或減少ECS實例,并將該ECS實例自動配置到SLB后端,以及添加到RDS的訪問白名單中。
而伸縮模式則多達七種,其中就包括定時模式,動態(tài)模式,固定模式,健康模式,手工模式,API歐式和多模式組合。
講到這里,很多朋友都對其工作原理和流程比較感興趣,下面我們就看看整體的一個流程圖:
那么,在這里哪些是屬于伸縮模式的設計核心呢?1.定時或自定義監(jiān)控觸發(fā)器,這是根據(jù)用戶設置的出發(fā)條件來觸發(fā)一個事件。2.根據(jù)配置進行資源選擇,原理是同一組應用應該使用相同配置,并選擇相應地域的SLB等周邊資源。3.資源的創(chuàng)建和啟用,根據(jù)鏡像創(chuàng)建資源并且啟動應用。4.環(huán)境依賴,自動引入流量計,自動加入監(jiān)控等。
在設計上的難點,鄧老師也詳細的指出了,需要深刻理解各產(chǎn)品OpenAPI,準確理解OpenAPI語義、同步異步、返回值含義、異常含義;準確理解各資源的狀態(tài)及含義。
其次是精確的活動觸發(fā),要準確觸發(fā)所有用戶的伸縮活動,誤增加機器會浪費用戶的費用,誤刪除機器會影響用戶的業(yè)務甚至數(shù)據(jù);對于活動失敗,甚至回滾失敗等各種異常情況有妥善的處理方式;監(jiān)控準確到位。
最后一點,就是用戶業(yè)務透明,資源變動不影響用戶已有業(yè)務,不影響業(yè)務已有鏈接和請求。