2013年,我在《程序員》雜志發(fā)表了“ 對(duì)國(guó)內(nèi)云計(jì)算三個(gè)現(xiàn)象的思考”,文章中分析了國(guó)內(nèi)云計(jì)算的三個(gè)現(xiàn)象:
- 現(xiàn)象一:沒有API 的公有IaaS服務(wù)
- 現(xiàn)象二:鮮有成功的Cloud-Native應(yīng)用
- 現(xiàn)象三:對(duì)PaaS的理解較單一
而在過去一年多的時(shí)間里,國(guó)內(nèi)的云計(jì)算領(lǐng)域發(fā)生了很多重大事件,比如:AWS入華、Azure正式商用、阿里云強(qiáng)勢(shì)爆發(fā)、UCloud/青云等獨(dú)立第三方云服務(wù)廠商獲得大筆風(fēng)險(xiǎn)投資等等,種種跡象都表明云計(jì)算在國(guó)內(nèi)已經(jīng)步入加速發(fā)展階段。對(duì)于上述三個(gè)現(xiàn)象,我目前的看法是:
IaaS API方面:主流的公有云IaaS廠商都提供了API。但是,有了API并不代表其堅(jiān)持API優(yōu)先的原則。API優(yōu)先要求云服務(wù)提供者“Eat your own dog food”,即通過調(diào)用基礎(chǔ)服務(wù)的API來構(gòu)建各種上層服務(wù),同時(shí)給生態(tài)圈合作伙伴提供平等的機(jī)會(huì)。
原生云應(yīng)用方面:云的成功案例越來越多,但是大部分集中在游戲等行業(yè),對(duì)傳統(tǒng)行業(yè)的滲透才剛剛開始。另外,我們還缺少像Netflix這樣毫無爭(zhēng)議的示范案例。
PaaS方面:Cloud Foundry開始偏向企業(yè)私有云領(lǐng)域。由于大部分的公有云用戶對(duì)云服務(wù)器的需求仍在個(gè)位數(shù)級(jí)別范圍內(nèi),因此他們對(duì)第三方自動(dòng)化管理部署工具、應(yīng)用生命周期管理、混合云管理工具的需求仍不強(qiáng)烈。
成本費(fèi)用(Cost)和安全(Security)一直以來都是公有云的兩個(gè)焦點(diǎn)問題。本文的主旨就是討論云服務(wù)的計(jì)費(fèi)模式。下面是筆者觀察到的國(guó)內(nèi)公有云計(jì)費(fèi)方面的兩個(gè)現(xiàn)象,主要涉及計(jì)算資源的計(jì)費(fèi)模式。
現(xiàn)象一:包年包月
包年包月對(duì)服務(wù)提供者和消費(fèi)者都有好處。云服務(wù)提供者可以將包年包月類型的虛機(jī)集中起來管理,可提高虛機(jī)密度,進(jìn)而提高資源使用效率;云消費(fèi)者可以降低使用成本。 包年包月計(jì)費(fèi)方式看似和AWS的預(yù)留實(shí)例類似,但是實(shí)質(zhì)上有許多不同之處。
1.AWS預(yù)留實(shí)例不影響用戶使用EC2的方式,只是在計(jì)費(fèi)時(shí)價(jià)格不同而已。當(dāng)用戶創(chuàng)建虛機(jī)時(shí),無論用戶是用管理控制臺(tái)、CloudFormation、OpsWorks、命令行工具、還是第三方管理工具,其計(jì)費(fèi)結(jié)果都是一樣的。但是對(duì)目前國(guó)內(nèi)云服務(wù)商比如阿里云, 用戶只能通過管理控制臺(tái)才能訂購包年包月虛機(jī),用戶無法通過API訂購包年包月虛機(jī)。
2.按量計(jì)費(fèi)啟動(dòng)的虛機(jī)無任何折扣,其價(jià)格比包年包月貴很多。如果用戶訂購的是按量付費(fèi)類型虛機(jī),無論其訂購多少、使用時(shí)間多長(zhǎng), 用戶都無法享受到任何折扣。任何云服務(wù)都是可編程的資源(API),Cloud-Native云應(yīng)用會(huì)充分利用這些API來實(shí)現(xiàn)高可用、可擴(kuò)展、安全的分布式應(yīng)用。按量計(jì)費(fèi)的虛機(jī)將會(huì)是未來的主流,云服務(wù)商應(yīng)該想辦法降低按量計(jì)費(fèi)的虛機(jī)的使用成本。
從目前看,降低用戶使用計(jì)算資源費(fèi)用的辦法主要有三個(gè):AWS的預(yù)留實(shí)例方式、Google的階梯使用折扣方式(Sustained Use Discounts,對(duì)于一個(gè)虛機(jī),單價(jià)在一個(gè)計(jì)費(fèi)周期內(nèi)是隨著運(yùn)行時(shí)間的增加而反向下降的)和國(guó)內(nèi)特色的包年包月方式。它們各自的特點(diǎn)和區(qū)別是:
1. AWS預(yù)留實(shí)例方式不會(huì)影響用戶的使用方式,但是AWS預(yù)留方式幫助用戶省錢的前提是用戶必須能夠準(zhǔn)確預(yù)測(cè)未來計(jì)算資源使用量。 由于業(yè)務(wù)的不可預(yù)測(cè)性,準(zhǔn)確預(yù)測(cè)未來資源使用量是很難的。AWS預(yù)留實(shí)例采購方式通常是1年或者3年,這使得預(yù)測(cè)變更加困難。
2. Google的階梯使用折扣方式不會(huì)影響用戶的使用方式,同時(shí)用戶也不需要預(yù)測(cè)未來資源使用量,最為簡(jiǎn)單直觀。
3. 國(guó)內(nèi)的包年包月和按量計(jì)費(fèi)是互相排斥的方式,影響用戶的使用方式,而且按量付費(fèi)方式無任何折扣。
本文的重點(diǎn)不是關(guān)注云服務(wù)商的絕對(duì)價(jià)格。下表列出了國(guó)內(nèi)外典型云服務(wù)廠商一款相似虛機(jī)類型(2核8G內(nèi)存Linux虛機(jī))的月平均費(fèi)用對(duì)比,主要是想讓大家對(duì)各廠商計(jì)費(fèi)方式有個(gè)直觀的認(rèn)識(shí)。
類別 | 月平均費(fèi)用 | 備注(2014/08/06的價(jià)格) |
青云按量 | 0.774 * 720 = 557 | 北京2區(qū)(PEK2), 青云不提供包年包月,也不提供其他折扣 |
阿里云包年 | (374 × 10)/12 = 312 | 青島數(shù)據(jù)中心, 假設(shè)使用滿一年 |
阿里云包月 | 374 | 青島數(shù)據(jù)中心,假設(shè)使用滿一月 |
阿里云按量 | 1.368 × 720 = 985 | 青島數(shù)據(jù)中心,假設(shè)使用滿一月 |
Ucloud包年 | 4500/12 = 375 | 華東雙線,假設(shè)使用滿一年 |
Ucloud包月 | 450 | 華東雙線,假設(shè)使用滿一年 |
Ucloud按小時(shí) | 0.90 × 720 = 648 | 華東雙線,假設(shè)使用滿一年 |
AWS預(yù)留(Medium Utilization) | (362/12 + 0.055 × 720) × 6.2 = 432 | m3.large/us-east,一年預(yù)留實(shí)例, 假設(shè)使用滿一年,匯率6.2 |
AWS預(yù)留(Heavy Utilization) | (443/12 + 0.037 × 720) × 6.2 = 394 | m3.large/us-east,一年預(yù)留實(shí)例,假設(shè)使用滿一年, 匯率6.2 |
AWS On-Demand | 0.14 × 720 × 6.2 = 624 | m3.large/us-east,匯率6.2 |
Google Cloud Platform | (0.14 * 180 + 0.14 * 180 * 0.8 + 0.14 * 180 * 0.6 + 0.14 * 180 * 0.4) * 6.2 = 437 | n1-standard-2/us ,假設(shè)使用滿一月 |
現(xiàn)象二:秒級(jí)計(jì)費(fèi)
一些國(guó)內(nèi)新興的云服務(wù)公司把秒級(jí)計(jì)費(fèi)做為其特性之一進(jìn)行宣傳,取到非常好的效果。這是因?yàn)镚oogle的計(jì)費(fèi)最小單位是10分鐘, 而AWS/阿里云等的最小單位更是高達(dá)1個(gè)小時(shí),和秒級(jí)計(jì)費(fèi)單位有很大差距。
但如果用戶使用云服務(wù)達(dá)到一定的量,則最小計(jì)費(fèi)單元對(duì)用戶使用云服務(wù)總費(fèi)用的影響是微乎其微的。從上述的對(duì)比表格中我們可以看出, 假如用戶使用一個(gè)月的時(shí)間, 青云的費(fèi)用并不比其他云服務(wù)低。這和電信運(yùn)營(yíng)商對(duì)語音通話的計(jì)費(fèi)單位是按照分還是按照秒的道理是一樣的。整體性降價(jià)對(duì)用戶更有實(shí)質(zhì)意義。
秒級(jí)計(jì)費(fèi)更多還是反映了云服務(wù)的使用哲學(xué),即根據(jù)業(yè)務(wù)的變化,用戶可以通過API(或者是基于API的管理工具)動(dòng)態(tài)調(diào)整資源的使用量, 由此來節(jié)省費(fèi)用。 比如, 晚上的時(shí)候,業(yè)務(wù)量都比白天小,用戶可以設(shè)定自動(dòng)伸縮來動(dòng)態(tài)調(diào)整資源的使用量。 阿里云的問題在于其提供的包年包月計(jì)費(fèi)方式限制了用戶的使用方式(只能從管理控制臺(tái)啟動(dòng)),限制了用戶充分利用云的可編程特性;另一方面,其對(duì)按量付費(fèi)的使用方式不提供任何折扣,用戶使用按量付費(fèi)虛機(jī)的成本很高。
總結(jié)
在國(guó)內(nèi),人們熱衷于比較各個(gè)云服務(wù)廠商的價(jià)格,卻忽略了云服務(wù)的計(jì)費(fèi)模式。我認(rèn)為計(jì)費(fèi)模式將對(duì)國(guó)內(nèi)云計(jì)算生態(tài)圈的發(fā)展和促進(jìn)用戶構(gòu)建云應(yīng)用的方式轉(zhuǎn)變會(huì)起到非常重要的作用。 云服務(wù)的定價(jià)體系和計(jì)費(fèi)系統(tǒng)是一個(gè)系統(tǒng)工程,每個(gè)廠商、每個(gè)服務(wù)有自己的計(jì)費(fèi)方式。但是公有云服務(wù)本質(zhì)上是Utility服務(wù),無論是哪個(gè)廠商,其計(jì)費(fèi)背后的原則應(yīng)該是一致的,這些原則包括:
1. 按使用量計(jì)費(fèi)。任何云服務(wù)都是可編程的資源(API),用戶可以非常方便的使用這些資源,按照使用量的多少來計(jì)費(fèi)。
2. 使用越多、需求越穩(wěn)定,價(jià)格則越便宜。
3. 規(guī)模越大,價(jià)格越便宜:隨著云服務(wù)商規(guī)模的擴(kuò)大,其運(yùn)營(yíng)成本會(huì)下降,這時(shí)應(yīng)該降價(jià)讓利于云消費(fèi)者。
4. 無差別原則:用戶創(chuàng)建的資源,無論是通過AWS管理控制臺(tái)還是第三方管理工具,其價(jià)格是一樣的。
5. 費(fèi)用可視化、可跟蹤原則:云服務(wù)廠商提供了費(fèi)用查詢接口,讓費(fèi)用可視化、可跟蹤成為可能,從而幫助用戶優(yōu)化、降低成本費(fèi)用。
6. 定價(jià)依據(jù)的是消耗的計(jì)算/存儲(chǔ)/數(shù)據(jù)傳輸?shù)瘸杀尽1热,AWS提供了很多免費(fèi)的服務(wù),這些服務(wù)之所以免費(fèi)是因?yàn)槠涫枪芾矸⻊?wù),本身不消耗資源,比如Autoscaling服務(wù)、OpsWorks、Beanstalk、IAM、CloudFormation。
作者簡(jiǎn)介
阮志敏, AWS認(rèn)證架構(gòu)師(專業(yè)級(jí)別), 長(zhǎng)期關(guān)注于如何使用云服務(wù)進(jìn)行業(yè)務(wù)創(chuàng)新, 對(duì)云服務(wù)生態(tài)圈有較深入的思考。