這些年,云計(jì)算從概念逐步發(fā)展到大勢(shì),又從大勢(shì)逐步落地。這個(gè)“落地”的過程,又被公有云、私有云、混合云等等概念演繹得五花八門。
不過歸根結(jié)底,云計(jì)算的理念還是“讓用戶像用水用電那樣使用計(jì)算資源,按需獲取,按量計(jì)費(fèi)”——以服務(wù)的方式提供計(jì)算資源——因?yàn)橛脩舻挠?jì)算需求是彈性的,因此真正彈性的云計(jì)算,才會(huì)幫助用戶最大限度地降低計(jì)算資源的總體擁有和使用成本。
彈性究竟意味著什么?
什么是彈性?首先,整合計(jì)算資源,將計(jì)算資源池化,通過虛擬機(jī)按需使用計(jì)算資源;其次,按量計(jì)費(fèi),讓用戶能夠根據(jù)使用量按月按時(shí)甚至按秒來進(jìn)行付費(fèi)。
不過,光有了這兩條還不夠。為什么?我舉個(gè)例子:
很多做運(yùn)維的朋友都深有體會(huì),比如因?yàn)橐粋€(gè)系統(tǒng)的警告,你就得立即去調(diào)度更多的資源,哪怕是深更半夜也得爬起來。
應(yīng)對(duì)的解決方案有很多種,比如加大冗余,讓計(jì)算資源不至于因?yàn)橥话l(fā)性的訪問量激增或計(jì)算負(fù)載的激增而宕機(jī)。但是,這樣做就和傳統(tǒng)的物理機(jī)區(qū)別不大了。因?yàn)樵朴?jì)算的核心優(yōu)勢(shì)之一就是客戶彈性適應(yīng)計(jì)算需求的變化。
為什么云計(jì)算最早是亞馬遜做出來的,而不是IBM、惠普、Oracle、SAP這些IT巨頭?就是因?yàn)閬嗰R遜為了應(yīng)對(duì)圣誕節(jié)網(wǎng)上購(gòu)物需求的激增,不得不一再擴(kuò)容其數(shù)據(jù)中心,而除了圣誕節(jié)、感恩節(jié)這些購(gòu)物高峰季節(jié),平時(shí)的購(gòu)物請(qǐng)求僅僅是峰值的1/5,大量閑置的計(jì)算資源不得不讓亞馬遜思考是否能夠?qū)⑵涑鲎饨o其他零散計(jì)算中心級(jí)需求的中小企業(yè)。
如果僅僅是滿足零散需求的用戶,其實(shí)前兩個(gè)彈性也就足夠了。但關(guān)鍵是,亞馬遜需要對(duì)自己的彈性計(jì)算需求進(jìn)行近乎實(shí)時(shí)的加載和釋放,這樣才能完全清楚能夠有多少計(jì)算資源進(jìn)行出租。于是,亞馬遜開發(fā)了自動(dòng)伸縮(AutoScaling)功能,不過這一功能主要是針對(duì)主機(jī),畢竟,滿足亞馬遜自身的需求是第一位的。
或許亞馬遜當(dāng)初開發(fā)這一功能的架構(gòu)師是因?yàn)殡x職還是什么別的原因,沒有將自動(dòng)伸縮功能延伸到更多領(lǐng)域,我們不得而知。但公有云提供商如果不是對(duì)這一功能有著深刻理解,真正為彈性的用戶需求,減輕用戶的運(yùn)維負(fù)擔(dān),或許連主機(jī)的AutoScaling也不會(huì)做。即便做了,如果只是照搬,創(chuàng)新也就無從談起,譬如阿里。
不止是AutoScaling?
筆者認(rèn)同“一個(gè)做了15年的運(yùn)維老兵對(duì)公有云的深度剖析”那篇文章里所闡述的觀點(diǎn):“青云之后,再難有大的創(chuàng)新,IaaS的創(chuàng)業(yè)門檻一下就提高了很多,甚至可以說大門都快關(guān)上了。”
很顯然,在公有云基礎(chǔ)架構(gòu)層面最具創(chuàng)新精神的創(chuàng)業(yè)公司當(dāng)屬青云。這次也不例外——事實(shí)上,與其他云服務(wù)商推出的有限的自動(dòng)伸縮功能不同,青云QingCloud的AutoScaling能夠自動(dòng)調(diào)整所有基于QingCloud之上的云資源,包括IP帶寬、數(shù)據(jù)庫(kù)存儲(chǔ)空間、負(fù)載均衡器的后端數(shù)量等一切可以監(jiān)控到的數(shù)據(jù)。
應(yīng)該說,青云的做法大大拓展了我們作為普通用戶的視野。為此,筆者專門采訪了青云AutoScaling的開發(fā)者羅夕(Simon Luo)。他解釋說,用戶在公有云上建個(gè)賬戶,然后把物理資源搬到云上,需要部署資源,或者新添一些業(yè)務(wù),也要對(duì)主機(jī)、存儲(chǔ)和網(wǎng)絡(luò)資源進(jìn)行部署。除了部署之外,對(duì)于互聯(lián)網(wǎng)企業(yè)來說,更重要的是接下來的監(jiān)控,讓系統(tǒng)資源能夠滿足訪問量的變化。
其實(shí),互聯(lián)網(wǎng)企業(yè)不止是亞馬遜這樣的電商,在各種大促,特別是圣誕、感恩節(jié)、雙十一這些時(shí)期,可以預(yù)見訪問量激增的情況,提前做出充足冗余。舉個(gè)例子,就在三個(gè)月前,App“足記”突然席卷朋友圈,有點(diǎn)像去年的瘋狂猜圖、魔漫相機(jī)、臉萌這類的App,訪問量突然呈爆發(fā)式增長(zhǎng)——最高峰每天PV過億,每天新增用戶上百萬!結(jié)果呢,足記宕機(jī)了——一周7天有4天宕機(jī),除了一再跟用戶道歉,只能向云計(jì)算服務(wù)商發(fā)出求救信號(hào)。
這種情況下,一個(gè)好的足夠彈性的架構(gòu)當(dāng)然非常關(guān)鍵,比如業(yè)務(wù)層面的擴(kuò)展、網(wǎng)絡(luò)層面的擴(kuò)展、數(shù)據(jù)層面的擴(kuò)展等等,其中也包括比如自動(dòng)伸縮(AutoScaling)和定時(shí)器(Scheduler)這類自動(dòng)化運(yùn)維工具的合理使用,至少可以在一定程度上,為工程師人工介入進(jìn)行緊急處理提供相對(duì)充足的修復(fù)時(shí)間。
比如有了自動(dòng)伸縮功能,并且有監(jiān)控告警服務(wù)做支撐,可以給負(fù)載均衡器后面擴(kuò)充更多的主機(jī)、調(diào)高帶寬;當(dāng)然也可以做下調(diào),就是在訪問量長(zhǎng)期處于低谷的時(shí)候,可以自動(dòng)減少資源,調(diào)低帶寬,這帶來得好處就是成本降低。而且不管上調(diào)、下調(diào)都不需要人為的參與,所以在人力成本上也會(huì)有一定的節(jié)省。
據(jù)羅夕介紹,AutoScaling可以動(dòng)態(tài)地調(diào)節(jié)用戶的訪問壓力,調(diào)節(jié)有兩個(gè)方向,一是擴(kuò)大或者上調(diào),給負(fù)載均衡器后面擴(kuò)充更多的主機(jī)、調(diào)高帶寬;二是也可以下調(diào),在訪問量長(zhǎng)期處于低谷的時(shí)候,可以自動(dòng)減少資源,調(diào)低帶寬——這樣帶來的好處一是占有資源更合理,資源占用成本降低;二是不需要人為過多參與,節(jié)省人力成本,讓企業(yè)將運(yùn)維人員的大部分精力放到業(yè)務(wù)發(fā)展上面。
值得一提的是,青云AutoScaling是免費(fèi)的工具,而且執(zhí)行是基于腳本的,目前QingCloud會(huì)自動(dòng)幫助用戶生成腳本,并且可以在控制臺(tái)瀏覽。未來QingCloud還會(huì)開放腳本的編輯功能,讓用戶可以通過編寫腳本的形式自定義操作行為,滿足更復(fù)雜、更個(gè)性化的需求。
青云的“彈性”RoadMap
當(dāng)然,青云能夠開發(fā)超越亞馬遜跟阿里的AutoScaling,除了執(zhí)著于云計(jì)算的“彈性”理念之外,還在于其扎實(shí)的基礎(chǔ)。
據(jù)羅夕介紹,青云最底層的Collection是監(jiān)控?cái)?shù)據(jù)采集服務(wù),它會(huì)采集主機(jī)的監(jiān)控,也會(huì)采集流量的監(jiān)控,每層都是上一層的基礎(chǔ),采集完之后會(huì)把它收集起來。而AutoScaling是基于Alarm監(jiān)控告警做的觸發(fā),Alarm則是從Collection里面讀取數(shù)據(jù)。這樣一個(gè)基礎(chǔ),使得AutoScaling在執(zhí)行的時(shí)候利用青云開放的API和已開發(fā)的很多項(xiàng)功能,最終實(shí)現(xiàn)對(duì)青云所有資源的AutoScaling。
在青云的RoadMap里,目前服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)、安全這四大IaaS層的拼圖已經(jīng)基本完整,包括主機(jī)的映像、硬盤、內(nèi)網(wǎng)DNS等,后續(xù)還會(huì)持續(xù)進(jìn)行優(yōu)化,以及針對(duì)私有云一些特殊的要求,進(jìn)行功能的補(bǔ)充。實(shí)際上,今年青云的重點(diǎn)是放在了所謂的Technical PaaS層面——比如AutoScaling和Scheduler。
這兩個(gè)功能當(dāng)然很重要,因?yàn)樗麄兛梢源蟠鬁p輕傳統(tǒng)IT運(yùn)維日常重復(fù)的工作。但更為重要的是,像AutoScaling會(huì)進(jìn)一步助力青云后續(xù)推出的Technical PaaS,比如對(duì)象存儲(chǔ),和之后的大數(shù)據(jù)分析服務(wù)。
“像對(duì)象存儲(chǔ)和大數(shù)據(jù)分析,它們本身都是一些集群服務(wù),這些服務(wù)本身就有彈性伸縮的需求,我們研發(fā)的同事就可以直接在AutoScaling的基礎(chǔ)上滿足他們服務(wù)的彈性。”羅夕解釋說。
很明顯,青云的產(chǎn)品路線從一開始就在刻意減少資源浪費(fèi),并且規(guī)避彎路,這無疑是聰明人的做法,前提是,你要對(duì)云計(jì)算構(gòu)建有著極為深刻的洞察和理解。在筆者看來,這也是為什么青云能夠以最為精煉的人力資源,打造國(guó)內(nèi)最為創(chuàng)新的云計(jì)算平臺(tái)的重要原因之一。