隨著過去兩年云計算熱的擴散,國內公有云平臺(本文提到的公有云都特指公有IaaS云)得到了長足的發展,企業用戶對公有云的接受度也在穩步提升。由于公有云提供的服務種類豐富、成本合理并大大降低用戶的運維成本,很多企業已經把部分生產系統遷移到公有云上,而新創企業基本都會優先選擇公有云作為自己的基礎設施。
在看到企業用戶對于公有云計算平臺積極接納的同時,我們也發現國內公有云供應商在如何提供合理云服務上仍然有明顯的IDC時代慣性思維,這其中“包月計費”就是最為明顯的例證之一。由于付費模式是用戶使用公有云資源最有力的指揮棒,IDC和虛擬主機時代的慣性計費方式會深刻影響到用戶使用云資源的方式,乃至系統的架構設計。
IDC時代的計費模式
由于數據中心建設周期長、前期成本高,絕大部分企業都是向專業的供應商租用IT基礎設施,包括機器、網絡帶寬、存儲磁盤,乃至數據中心的空間等。在傳統的IDC時代,基礎設施租用計費模式一般都有如下幾個較明顯的問題:
計費周期太長。無論是機器、網絡還是磁盤,最小都是以月為單位,更常見的是以季度和年為單位,而且優質IDC供應商還經常要求客戶一次性付清所有費用。這種方式導致用戶前期投入大,不容易按照項目實際需求隨機調整。
計費標的固定。租用了一臺設備后中途不可更換配置、不可變更數據中心。如果需要切換成新的設備,原來租用設備的已付成本會有很大損失。
由于這些問題,IDC的支出對于很多企業(尤其是中小企業)是一個很大的負擔,而且使用還非常不靈活。盡管IDC供應商在過去很長時間一直在不斷努力改進整個計費模式,但是受制于IDC建設成本和資源交付能力的限制,并未徹底解決以上這些問題。
按需付費應是公有云的核心特征
隨著公有云的出現,一種全新的IT基礎設施供應商來了。其提供的IT基礎設施核心計費模式為“按需付費”。這種“按需付費”模式和云基礎設施強調的“彈性伸縮”緊密相關并相互促進,尤其在計算資源(如虛機)上表現得最為明顯。具體如下:
虛機計費周期大幅度縮短。現在主流的供應商都是按小時或者分鐘計費,甚至已經有按秒計費的產品。
虛機計費標的調整靈活。用戶可以隨時調整其配置并按調整后的價格重新開始計費。
目前,公有云在存儲和網絡資源的收費基本都已經完成從“包月計費”向“按需付費”的過渡(除掉因為國內電信運營商壟斷造成的網絡以帶寬而不是流量計費為主外)。但是在計算資源計費模式上,包月慣性思維還表現得非常明顯,部分重要公有云供應商只提供“包月計費”計算資源或者不平等對待“包月計費”和“按需付費”這兩種計算資源。目前,這種慣性思維帶來的計費模式已經明顯影響到了國內公有云進一步發展。展開來說,其包括如下幾個方面:
由于“包月計費”的廣泛存在,當用戶上云后會本能選擇適配這種計費模式的技術架構。云應用中水平伸縮、狀態無關化等一系列非常好的設計理念都因為和“包月計費”不匹配而未被足夠重視。這樣,云帶來的負載彈性和成本彈性優勢被大打折扣。
由于“包月計費”的廣泛存在,用戶在購買一臺虛機后就只能使用該臺虛機部署服務,釋放掉就意味著費用損失。這給系統做容錯處理帶來非常多的不便。現在,無論云供應商如何努力也無法做到虛機的100%可靠(虛機的無縫熱遷移仍然還是一個未解決的問題)。那如果當前虛機自身或者其上的應用出現問題,要修復該臺虛機只能夠暫時把其從生產系統拿下,做離線處理后重新加入服務。在這期間無論短時間啟動替代實例,或者永久使用新實例代替當前實例都意味著包月費用的損失。
由于“包月計費”的廣泛存在,用戶在購買資源時仍然經常要面對傳統IDC時同樣的“艱難的決定”。例如,怎樣在不同區域購買不同數量包月資源來平衡可能會出現的不同區域流量變化?在出現流量快速增長時候是購買“包月資源”還是“按需計費資源”呢?因為很多時候無法遇見這是短時間的流量增長,還是會成為新的常態。這些本來期待公有云解決的問題又重新回到用戶這邊,影響了用戶對于公有云接受度。
總結來說,“按需付費“”是和公有云“彈性伸縮”全新資源交付方式相匹配的計費模式。現有包月慣性思維導致計費模式和云上資源彈性交付模式的不匹配,從而影響到用戶使用資源的方式,限制了公有云“彈性伸縮”這一巨大優勢的發揮。
說說“關機收費”這個事情
如果說“包月計費”還是慣性思維在起作用,那“關機收費”可能算是這種慣性思維的一個副產品。簡單來說,“關機收費”是指你購買的機器,該機器臨時關機后仍然被云供應商按照正常開機模式進行收費。這個模式無論從合理性還是方便用戶使用上都是值得商榷的。
從合理性角度看。當機器關機后,該虛機并沒有消耗云供應商的CPU和Memory資源,這些資源理論上是會被云供應商調度給其他用戶使用,所以仍然按照正常開機價格計費顯然有失公平。一個合理的收費方式是“關機”實例僅收實例上數據的存儲費用,而不是完整的實例費用。
從方便性角度看。用戶把實例處于臨時甚至長期關機狀態是非常常見的場景。其中,臨時關機最常見的場景為開發測試環境中的實例。這種實例都建議下班后關機,如果按照“關機收費”模式計費,該最佳實踐就根本沒有意義。開發測試人員每天上班后都得重新啟動虛機,并在下班前釋放虛機。而虛機中任何狀態變更(無論是否是臨時的)都只能通過鏡像方式保存。另外,長期關機最常見的場景就是“災備系統”。在做災備設計時候,一種最常見的方式就是在備份系統保留一定數量已經部署就緒但長期關機系統,一旦監控系統發現生產系統出現問題,能夠快速啟動并承接生產系統流量。如果按照“關機收費”模式計費,這種模式的成本將非常昂貴,也就失去價值。
我們需要的是公有云還是更好的IDC?
過去十年是IT基礎設施從傳統IDC模式向云計算模式的遷移過程,而且這個遷移過程還會持續非常長的一段時間。所以,原來的包月慣性思維在公有云平臺上繼續延續是一個比較自然的過程。當然,“包月計費”模式的另外一個常見的解釋就是供應商希望以此更好地增加用戶黏度,保證云供應商的持續收益。如果是這樣,這種增加用戶黏度的方式其實是以犧牲用戶體驗為代價的,并會限制公有云在很多場合的深入使用(本文前面的很多例子已經闡述這一觀點),并不是一個好的選擇。所以,我們期待公有云供應商都能仔細思考如下這個問題:
你希望提供的是公有云服務還是一個更好的IDC服務?盡管在短期看這兩者都可能幫助你從傳統IDC那邊吸引足夠多的用戶。
首先,我們必須承認包月方式有其存在的合理性和必要性。對于開發者、站長等這類用戶,這么計費方式非常合適,是種雙贏的模式。對于部分產品,比如域名和SSL證書產品,包月模式也是最合適的。國外的Godaddy/DigitalOcean等服務商也都是采用包月為主的計費模式。
但是,當公有云開始深入企業級市場后,“按需付費”模式至少應該和“包月模式”平齊平座。否則,用戶只能被動選擇“包月計費”資源,而云供應商則會在“更好IDC”的路上越走越重,離公有云的目標越來越遠。國外的主流公有云服務商AWS、Azure、Google,他們共同特點是都只有“按量付費”,但是他們會通過“預留實例”、“階梯降價”等方式實現“包月模式”的目標,這點值得國內廠商借鑒。