
說好的《六家云廠商價格比較:AWS、阿里云、Azure、Google Cloud、華為云、騰訊云(上篇)》下篇來啦~~
雖遲但到。
云端資源價格
預留實例:長期持有,批發路線,價格最便宜。
按需實例:即買即用,零售路線,價格最貴。
這兩種資源,基于不同區域/價格的六家云廠商價格對比,連同原始數據文檔我們已經打包成了一份電子文檔,有興趣的可以文末加小F獲取。
可被搶占實例,中文世界一般叫競價實例。不同云廠商有不同的名字。
AWS:EC2 Spot Instances
Google Cloud:Preemptible VMs
阿里云:競價實例
Azure:LowPriority VMs
騰訊云:競價實例
華為云:競價計費型實例
作為云資源中的低成本戰斗機,最低可達到按需實例價格的10%。超便宜!!
所以,這也是為什么《全球半導體行業上云格局一覽和十個上云實踐問題的過來人解答》里芯片設計公司eSilicon和Astera Labs的CEO強推:不用會死!!(有點夸張了。。)
可被搶占實例,即競價實例有四個特點:
第一、 便宜是真便宜。
第二、 不是人人都能用好。
第三、 不是你想要啥就有,不是你想用的時候就能用。
第四、 或遲或早,最終一定會被搶走。
對云廠商來說,可以閑置資源變廢為寶。
對用戶來說,有最低到一折的便宜資源可用,缺點不少,但有利必有弊。
AWS、阿里云、Azure、Google Cloud、華為云、騰訊云,六家云廠商都已經推出了各自的競價實例。名字略有不同,基本原理都是類似的。從最早2009年被AWS推出市場,到現在已經超過十年了,而最新華為云的競價實例推出時間還不滿一年。
我們整理了一份:六家云廠商競價實例《完全用戶使用指南》

重點一:競價實例的價格
六家云廠商的價格:三家固定,三家可變。
固定的都是按需計費模式價格的20%,可變的都能最高達到按需實例價格的10%。其中,騰訊云的情況有點特殊,現在執行的是當前階段特殊策略,以后應該會變成可變價格。
Azure的固定價格有點不同,對Linux提供80%的折扣,對Windows提供60%的折扣。
整體來說,競價實例的價格大約在按需實例的三分之一左右。

這里的折扣僅針對實例的vCPU和內存價格有折扣。其他資源(包括系統盤、數據盤、網絡帶寬)的價格與按需實例的價格保持一致,沒有折扣。
單獨說說可變價格。
大體上來說,每家云廠商都有既定的資源總量。
優先級第一的肯定是預留實例,用戶已經提前付過錢了,可能是按月,也可以是按年,無論如何都是不能動的。
其次就是按需實例,這個上下浮動性就非常大,可能某個時間段大家用得很多,也可能正好沒什么人在用。

于是剩下的沒有被使用的資源就被云廠商拿出來低價售賣(畢竟哪怕放著不開機也是在燒錢),什么時候按前面兩種方式有用戶買了,這些被低價賣的資源就會被云廠商收回去。
這些便宜的閑置資源怎么定價呢?
第一步:我們假設有一個起點,大家圍著一個既定規模的閑置資源池,每個人提出各自的資源需求,出一個價。
第二步:
各個云廠商根據各自的價格系統定出一個市場價格。

這個價格的制定機制基本是黑箱。我們姑且猜測是根據各自云廠商手頭的閑置資源數量以及各個買家的出價,結合自身合理利潤需求得出的一個結果吧。
來自以色列一家技術機構的Tsafrir等人研究了AWS的Spot價格,包括歷史價格,得出的結論是亞馬遜使用的是隨機預設價格來定價。墨爾本大學的Rajkumar Buyya等人分析了AWS上的spot instances,發現價格模型符合混合高斯分布。
第三步:
根據這個市場價格一刀切,出價高于市場價格的買家就獲得了你申請的資源,低于市場價格的就下次再來吧。

這里有個重點:只要你申請到了資源,價格是以市場價格來計算的,跟出價無關。同一時間,所有買家都按同一個價格在使用資源。
關于市場價格,AWS以前是允許超過按需實例資源的價格的:像下圖中間那根線是按需實例價格,彩色線條是波動的市場價格,波峰都遠遠超過按需實例價格。

2017年底,AWS開始調整成競價實例市場價格最多達到同樣按需實例資源的價格。
一般云廠商都會建議你的出價越高越好,因為這會使你拿到資源的可能性變高。但是,如果所有買家都按照這個策略出價,市場價格理論上會水漲船高。
重點二:競價實例的回收
六家云廠商的資源回收的原因主要有兩種:市場價格大于用戶出價和庫存不足。
云廠商會動態檢測當前的市場價格和庫存,一旦庫存不足,或者你的出價小于市場價格,你使用的資源就會被系統回收。當然,值得一提的是,各家云廠商在中斷回收資源之前會有30秒-5分鐘不等的警告時間。

這,就非常尷尬了。
對于純手動操作進行資源調度的人來說,這么短的時間基本沒法完成任務關閉/轉移/部署到新資源上這一系列動作。
如果沒有正確地處理業務的關閉和退出,則有可能造成數據的丟失。這意味著如果不能正確地自動化管理,這些云廠商提供的提醒機制就不能發揮他們應有的作用。進而使得我們能運行在這些可搶占實例上的業務類型更加稀少。
順便提醒一下:實例停止后,數據不會自動保存。
資源的回收順序。
可變價格一般都是從出價最低的實例開始終止搶占式實例。如果多個搶占式實例的出價相同,則隨機確定實例的終止順序。
假設原始定價是5元。
如果5分鐘后,市場價格提高到5.5元。
原來出價高于5元,但低于5.5元的人手上的資源就自動被回收了。
同時也會有新的出價高于5.5元的人開始使用資源。

如果5分鐘后,市場價格降低到4元。
原來的人都可以繼續使用,新加進來的都是出價高于4元的人。
這種情況可能是因為閑置資源池整體變大了。

Google有獨特的想法,通常會搶占最近啟動的實例,并且會避免單個客戶搶占過多實例。乍一聽有點難以接受,但從長遠來看,這個策略有助于最大限度地減少在集群中丟失工作的情況。
不過,也只有Google規定了用戶最大可用時間為24小時。
阿里云則提供了用戶至少1小時的保護期:即在創建后第一個小時內,不會因為市場供需關系而回收實例,這一小時內使用價格也是不變的。
AWS在2015年開始提供Spot Block Instance。這種競價實例有固定預留時間(1-6個小時中的任意時長),在預留時間內不會被AWS主動收回,但是其申請時候的價格仍然是不斷變化的。
Spot Block Instance的價格是按需實例的55%到70%,低峰時期還能再打個5%的折扣到50%。比普通競價實例要貴。
重點三:競價實例的正確使用姿勢
不像預留實例和按需實例一樣直接,競價實例的市場驅動機制在實施和理解角度比較復雜。
另外,整體競價資源的供給和需求同時不確定,用戶在使用的時候必須考慮不穩定的價格波動和實際有多少資源可用性。
所以針對競價實例,需要調整一下我們的使用姿勢:
1.混合使用競價實例、按需實例和預留實例。
這其實跟混合云模式有相同的思路。《真假混合云?論混合云的三種打開方式》
本地資源相當于預留實例,是固定的資源。而根據需求,彈性擴展到云的資源就包括了按需實例和競價實例。競價實例有價格優勢,但其可被搶占性決定了不是什么時候都適用。
利用自動化和分析平臺,混合使用三種實例可以在運行大量工作負載的同時,保證低成本和SLA。
2.避免在競價實例上運行不能中斷的任務,而運行對錯誤容忍度高和使用靈活的應用,比如大數據,容器化的工作任務,高性能計算HPC,無狀態的web服務器,渲染、CI/CD和其他測試和開發工作負載。
3.把需要比較長時間的大型工作任務拆分成大量小的、異步的短時間工作任務,盡可能利用低成本的競價資源來運行,減少被中斷的可能性。
4. 充分利用競價實例的價格浮動特性,在適當的時間購買可被搶占實例,降低計算成本,并在整體成本下降的前提下,提升業務在該時間周期內的吞吐量。比如在晚上或周末這種非高峰時段運行大型搶占式虛擬機集群。
5.支持斷點續算的智能調度模式參考《CTO說 | 非容器化應用怎么玩多云?Kubernetes不管我們管啊》第4條。
6.合理使用云廠商提供的工具。AWS的Spot Instance Advisor 可以幫用戶確定中斷可能性最低的池,提供與按需費率相比可節省的成本信息。在選擇實例時,用戶可以權衡應用程序對中斷的容錯能力和自身的成本節省目標。中斷率越低,Spot 實例的運行時間可能就越長。跨全區域和示例類型的平均中斷頻率為 <5%。中國區目前只有香港。

另外,Google也提供了一個參考數據,從歷史數據中觀察到,每個項目每天的搶占率在 5% 至 15% 之間不等(取 7 天的平均值),根據時間和地區,偶爾會出現更高的情況。
最后,分享一個AWS的老數據:2016年平均每周的EC2 Spot Instance的資源使用量大于2012一整年全區域所有EC2的使用量。
現在,各家云廠商已經準備好了。
你準備好了嗎?
- END -
關于我們:
速石科技專為有高算力需求的企業級用戶提供一站式算力運營解決方案,幫助用戶提升10-20倍業務運算效率,降低成本達到75%以上,加快市場響應速度。目前主要應用領域包括藥物研發、基因測序分析、半導體行業的EDA仿真及電路設計、汽車行業的自動駕駛開發、虛擬碰撞試驗以及AI人工智能。
想了解更多,可添加小F微信(ID:imfastone)

文章推薦: