付更少的雲端成本 — 費率優化
我們談過關於在雲端中如何優化資源使用率來達成省錢的方式.這篇文章將討論我們在雲端中資源長期使用的節費方式.
我們應該都知道三大公有雲(AWS/Azure/GCP, 以下簡稱CSP)的批發價基本上是不一樣的,尤其是當伴隨著多樣的計費方式,不一樣的時間增量的計費,與批發折扣的成本結構,每個 CSP 都會為我們帶來各種的財務影響。本文將聚焦在定價選項,並在其他文章中介紹更複雜的RI(AWS/Azure)與CUD(GCP).
運算定價(Compute Pricing)
基於每家 CSP提供不同的服務以及我們選擇使用哪種服務,有著非常不一樣的付款方式.而三大 CSP對這些折扣的名稱也有不一樣的名稱(雖然打折扣的方式可能非常相似).下圖是三大CSP的資源預購選項.
On-Demand(隨選即用)
當我們要起用一個運算資源而沒有任何事先承諾的資源預購時,資源的計價就屬於這種.它們的價格通常都很高.不過很有彈性,因為你關掉它時就不需要為這個資源付任何費用.
Spot/Preemptible/Low-Priority resource(不保證的資源)
三大CSP經常會把他們閒置的資源拿出來拍賣.通常是設定一個價格(競標)的方式來取得這些雲端資源,這個價格是我們願意付的,它通常會比隨選即用的資源價格要低很多.我們將支付的會是現貨市場價格,直到我們的出價被超過,這個時候CSP 就會直接停掉這一項資源。
價格會比隨選即用的資源低很多的原因在於,這一類的資源沒有任何可用度上的保證.我們的Application運作在上面是有風險的,而通常會運作這一類便宜的資源的Application通常是在一個很短的時間內需要進行大量運算的需求,或者是Application可以忍受在另一個insatnce(也是不保證的)被重新啟動.
Reserved(預購)
這一部分我們之後會有專門的文章討論這一塊.但基本上這就是我們對 CSP有一個長期承諾租用他們的長期資源.以上三種,用租車的概念來說隨選即用與不保證的資源有點像短租,而預購像是長租.
儲存定價(Storage Pricing)
通常我們在談資料儲存在雲端中時的費率優化時,很多人都以為是減少資料,不過哪是屬於使用量優化的議題.這裡所探討的是我們應該對哪種資料使用哪種storage等級,意思是我們需要對我們的資料做分類.而CSP所提供的storage 等級會依據不同的availability/durability/performance/capacity來分類.一般來說,我們的資料需要越多的performance/durability/performance價格就會往上升.重點在於我們要“價格與品質”之間找到一個平衡點.
所以針面對客戶會用到的資料.常理來說應該要有high performance/ availability.而備份的資料就不需要有high availability(而是High durability)而就不用我們付較貴的成本.而隨著backup的資料逐漸變舊它的重要性會越來越不重要,所以我們可以把這些資料一層一層的往 Low performance 與 low availability,但仍然可能是high durability.簡單來說就是data lifecycle management.
以storage 等級的層級分類來看,AWS提供的樣式最為多種.例如,資料在一個月後,S3 可以將資料轉移到lower available storage,12 個月後,可以將其轉移到一個非常便宜的“cold” storage產品,稱為 Glacier.但若要取出資料可能需要幾個小時的時間。
我們把資料的分類和定位到不同的服務產品中投入的精力越多,我們節省的資料存儲成本就越多。 使用雲端服務的內建功能來自動化資料生命週期可以減少管理工作。 當然,將我們的資料存儲在具有我們所需的durability和availability的正確服務產品上是非常重要的。
大量折扣
大多數CSP為其某些服務可以有大量採購的折扣。 當我們有需要大量的資源時,這些自動降價可以節省大量費用。 通常,這些大量折扣,一種是基於使用量一種是基於時間。但需要注意的是,大量折扣的範圍通常侷限現在一個region中.也就我們購買的折扣是不能跨region的.
大量折扣的優惠通常都是大型企業才有辦法用得起的.要在雲端平台上正確計算預計的成本,我們需要確定我們用的是哪一種大量折扣類型。 在計算減少雲端使用量的節費時,我們必須了解哪個定價層適用於減少的使用量。 使用正確定價層的費率可以讓您正確計算成本(和可能的節費)。
基於使用量的
當折扣是基於總體資源的使用量而非是資源開啟的時間長度來計算的,我們稱之為基於使用量的批發折扣。而這種批發折扣量是依每小時來計算的,每一個小時的總體使用量可能不同,所以可能套用的批發折扣也可能不同。
下圖為一個範例,圖中的x軸為定價層級(就是使用量)。當使用量超過Tier 2時,超過Tier 2的資源就會被用Tier 2的價格收取。而這是每個鐘頭小結一次費用。
基於使用時間的
當持續資源跑了一段時間之後,在這一段時間內就會有較低的折扣,這稱為基於時間的折扣。最好的一個例子就是GCP的SUD(Sustained Use Discount),如果我們的某台VM instance開啟了一個月都沒關閉。GCP就會給我們七折的折扣。一些基於時間的折扣適用於特定資源,並在資源被刪除後立即停止套用折扣,而另一些則與資源使用類型匹配,並且可以隨著時間的推移套用於多個資源。 需要注意的是,基於時間的批發折扣不會與同時運行的其他資源相結合。 例如,100 個資源在同一小時內運行並不等於一個資源運行 100 小時。
下圖為一個範例,可以看到基於時間的折扣是如何運作的。我們可以看到在第一個小時,有10個資源被使用,並且這些資源是被分別套用批發折扣。讓我們假設使用Tier 1 價格是前五個小時,而在第六小時後Tier 2折扣被套用了。基於使用使用情況的重要變化是,批發折扣用於 x 軸(時間),因此即使我們在第一個小時內有 10 個資源,它們都按Tier 1價格收費。 隨著時間的推移,10 個折扣計時器會根據資源使用量啟動和停止。
費率談判
如果公司夠大的話,我們也許能夠直接對CSP或CSP上marketplace上的Vendor進行價格談判。例如公司一年在雲端的費用可以達到一千萬美元之類的。
CSP Marketplace的軟體授權費用
當我們在雲端中使用第三方軟體時,必須有軟體授權,並且通常應該直接付款給該第三方。然後將授權套用在於雲端的server中。這樣的作法會讓我們有兩個帳單,一個是第三方的,一個是CSP給的。隨著 AWS、GCP 和 Azure 的marketplace服務的建立,第三方供應商現在可以通過這些管道提供他們的軟體。軟體授權和雲端資源費用直接在客戶的CSP的帳單上支付,而CSP則則變成這些軟體授權費的代收代付。
雖然這個方式幫我們減少了合併兩份帳單的工作量,但現在我們為這個軟體授權復的就是list price了。當我們直接與第三方供應商接觸時,我們可以為組織協商更優惠的價格。幸運的是,AWS Marketplace 等一些服務現在允許供應商提供賣家專屬優惠。客戶與第三方協商許可費率,並通過private link專門為該客戶建立協商過後的價格。當組織直接從市場使用這些服務時,他們會為授權支付談判後的費率,並直接從CSP這邊維護單一計費來源的便利性。
BYOL的考量
三大CSP都允許我們將license帶到雲端中使用來節省費用,這就稱為BYOL(Bring your own license)。一個例子就是Azure Hybrid Benefit for windows server。組織可以將EAS, SCE subscription或Open Value Subscription直接用在Azure上。
這種方法適用於當我們要將地端機房遷移至雲端中時。不過,若是地端機房的Server OS過於老舊,甚至舊到CSP都不support而且我們也沒有持續的買OS授權,哪可能節省不到費用了。
結論
因為雲端服務的performance/availability/durability有著不同的等級,所以CSP也因為者這些等級的不同而提供不一樣的價格費率。高效能的FinOps團隊能夠集中控管這些費率控制並讓技術團隊持續專注在他們的技術專業工作上。使用這兩種槓桿(FinOps and Devops)可讓我們能得到顯著的節費。
總結一下:
- 費率節省是關於在相同的資源上有著較低的費率
- 正確的使用CSP所提供的各項費率優惠,我們能減少我們的雲端費用
- 自動化,無論是由CSP提供還是自己刻,都可以在適當的時候將我們的資料和處理轉移到較低費率的資源中
- 如果公司夠大,花在雲端上的錢夠多(例如一年一千萬美元)。就可以直接進行價格談判