近年來,云計算從概念逐步發展到大勢,又從大勢逐步落地。這個“落地”的過程,又被公有云、私有云、混合云等等概念演繹得五花八門。
不過歸根結底,云計算的理念還是“讓用戶像用水用電那樣使用計算資源,按需獲取,按量計費”——以服務的方式提供計算資源——因為用戶的計算需求是彈性的,因此真正彈性的云計算,才會幫助用戶最大限度地降低計算資源的總體擁有和使用成本。
彈性究竟意味著什么?
什么是彈性?首先,整合計算資源,將計算資源池化,通過虛擬機按需使用計算資源;其次,按量計費,讓用戶能夠根據使用量按月按時甚至按秒來進行付費。
不過,光有了這兩條還不夠。為什么?我舉個例子:
很多做運維的朋友都深有體會,比如因為一個系統的警告,你就得立即去調度更多的資源,哪怕是深更半夜也得爬起來。
應對的解決方案有很多種,比如加大冗余,讓計算資源不至于因為突發性的訪問量激增或計算負載的激增而宕機。但是,這樣做就和傳統的物理機區別不大了。因為云計算的核心優勢之一就是客戶彈性適應計算需求的變化。
為什么云計算最早是亞馬遜做出來的,而不是IBM、惠普、Oracle、SAP這些IT巨頭?就是因為亞馬遜為了應對圣誕節網上購物需求的激增,不得不一再擴容其數據中心,而除了圣誕節、感恩節這些購物高峰季節,平時的購物請求僅僅是峰值的1/5,大量閑置的計算資源不得不讓亞馬遜思考是否能夠將其出租給其他零散計算中心級需求的中小企業。
如果僅僅是滿足零散需求的用戶,其實前兩個彈性也就足夠了。但關鍵是,亞馬遜需要對自己的彈性計算需求進行近乎實時的加載和釋放,這樣才能完全清楚能夠有多少計算資源進行出租。于是,亞馬遜開發了自動伸縮(AutoScaling)功能,不過這一功能主要是針對主機,畢竟,滿足亞馬遜自身的需求是第一位的。
或許亞馬遜當初開發這一功能的架構師是因為離職還是什么別的原因,沒有將自動伸縮功能延伸到更多領域,我們不得而知。但公有云提供商如果不是對這一功能有著深刻理解,真正為彈性的用戶需求,減輕用戶的運維負擔,或許連主機的AutoScaling也不會做。即便做了,如果只是照搬,創新也就無從談起,譬如阿里。