企業(yè)云成本優(yōu)化指南
譯文【51CTO.com快譯】與各種常見的事物類似,云服務的可擴展能力也是一把“雙刃劍”。技術人員在享受由它帶來的便利性和敏捷性的同時,其日漸增加的配置復雜度、以及由過度擴展所帶來的成本增加,往往會在季度或年末,讓企業(yè)的財務面部抽搐。
以Pinterest(堪稱圖片版的Twitter)為例,在某個公共假期里,由于使用量的激增,其云服務賬單超出了最初的估計,導致Pinterest不得不在原有價值1.7億美元的預留資源之外,多向AWS支付了2000萬美元??梢?,合理處置云服務的成本影響的唯一方法,便是實施自動化的云成本優(yōu)化。下面,我將和您逐步開始深入討論。
一、了解優(yōu)化云成本的好處
如果你還在猶豫是否應該花時間去優(yōu)化云服務的成本,那么先請看看通信、娛樂、SaaS、以及電商領域的公司有關優(yōu)化收益的報告:
- 2021年第一季度,Zoom的報告稱,其毛利率從上一季度的69.4%擴大至73.9%,主要源于在公共云資源方面投入了大量精力。(https://www.cnbc.com/2021/06/01/zoom-zm-earnings-q1-2022.html)
- Spotify構建了一個名為Cost Insights的自定義工具,可跟蹤云服務費用,并鼓勵工程師掌握云端支出的所有權,進而將整體的年云支出減少了數百萬美元。(https://redmonk.com/jgovernor/2021/04/28/shifting-cost-optimisation-left-spotify-backstage-cost-insights/)
- 通過對基礎設施的決策進行適當地增量優(yōu)化,Segment在保證其流量增加25%的同時,提高了20%的毛利率,并且降低了30%的設施成本。而且,這一切都是在三個月內完成的(https://t.co/kuPRZZg4uK?amp=1)。
- 面對其云端費用的急劇上升,電商初創(chuàng)公司La Fourche通過運行CAST AI的Savings Report,來尋找優(yōu)化的機會。通過啟用自動化優(yōu)化,該公司在不增加工程工作量的情況下,將每個月云端費用減少了69.9%。
下面,讓我們來看看團隊可以選擇哪些方法,來防止云端成本的失控。
二、從了解您的云賬單開始
下圖展示的是一個典型的云服務賬單。
這張賬單不但冗長復雜,而且很難被拆開,畢竟每一項服務都有一個明確的計費指標。對此,我們幾乎無法根據實際的使用情況,及時地做出業(yè)務和成本上的抉擇。而且,這還只是分析了一種云業(yè)務、以及一個團隊的成本,尚未涉及到多個團隊或多種云業(yè)務的計費。
對此,我們需要通過成本分配,來揭示誰正在使用哪些資源,以及誰應當對哪些費用負責。通過根據云賬單的檢查來分配成本,我們可以更好地預測業(yè)務需求,并為此保留適量的資源。不過,以Kubernetes為例,在其上運行的動態(tài)基礎設施中,實施成本分配是極富挑戰(zhàn)性的。
為了能夠估計未來的云端資源需求,您可以遵循如下步驟:
- 通過各種可視性,來分析實際使用報告,進而確定任何支出的模式。
- 借助定期分析和處理過的歷史數據,來檢測資源使用高峰場景。
- 根據周期性的客戶需求模式,判斷其是否與資源使用的峰值相關。
- 確保定期監(jiān)控資源的使用報告,并通過設置警報來控制云端成本。
- 通過測算特定于應用程序或工作負載的成本,來創(chuàng)建應用級別的成本計劃。這將為您開啟計算云基礎架構的總擁有成本的大門。
- 接著,查看云提供商的定價模型,并規(guī)劃一段時間內的容量需求。通過將所有這些數據集中到一處,以便更加清楚地了解成本支出。
注意,上述步驟并非一次性的任務,您可以按需定期執(zhí)行,以獲得精準的結果。
三、為應用程序選擇合適的計算資源
通常,在AWS之類的平臺上,您的業(yè)務可能擁有多個實例(那些擁有400個不同實例的應用十分常見)。同時,相似的實例類型在不同的云服務提供商之間,會具有截然不同的服務性能。即便在同一個云服務中,那些成本更高的實例也并不意味著其性能更好。因此,如果您的應用主要依賴于計算的話,那么選擇合適的虛擬機,將有益于計算資源的合理配置。
如何為您的工作負載選擇合適的虛擬機:
1. 定義您的最低要求
確保在CPU(架構、數量、處理器選擇)、內存、SSD和網絡連接等所有計算維度上,定義最低要求。
2. 選擇正確的實例類型
您可以從上述定義的需求,從不同的CPU、內存、存儲和網絡容量所組合成的實例類型中進行選擇。畢竟這些不同配置的實例類型在不同程度上滿足了某類功能優(yōu)化的偏好。
3. 設置實例的大小
注意,實例應配有足夠的容量,以滿足實際業(yè)務的負載要求,并能夠在必要時包含應對突發(fā)的情況。
4. 檢查不同的定價模型
目前,三大主流云服務提供商都提供了不同的費率標準,即:按需(即用即付)、預留容量、競價(spot)實例、以及專用主機。這些選項各有優(yōu)、缺點。
四、使用競價實例實現更大程度的節(jié)省
從AWS和其他大型云服務提供商處購買閑置的容量資源,通常被認為是一種明智之舉。畢竟競價實例的費用要比按需實例便宜90%。當然,其前提條件是:云服務供應商保留著隨時收回這些競價實例資源的權利。因此,在做出選擇之前,請您對自己的應用進行如下方面的考量:
1. 檢查業(yè)務負載,判定是否適合競價實例
檢測的具體內容包括:能否承受突然中斷?完成某項作業(yè)的時長?是否屬于關鍵型業(yè)務負載?
2. 檢查云提供商的服務
請檢查待選實例的中斷頻率。有時候,某些不太熱門的供應商所提供的實例,往往意味著中斷的頻次更低,其相應的在線服務時間更長。
3. 出價
為您選定的競價實例設定愿意支付的最高金額,它會在市場價格滿足(或低于)該報價時完成匹配。我的經驗是,您可以參考過往在按需定價時設置過的最高價格。
4. 分組管理競價實例
您可以一次性請求多種實例類型,以增加獲取競價實例的機會。
總之,為了順利開展上述工作,請分配好在配置、設置、以及維護等任務上的大致時間(除非您決定將其自動化)。
五、不要被省錢方案的各種承諾所誘惑
當您意識到自己無論如何,都會使用某項云服務時,往往會產生“那何不提前購買容量”的想法?同時,云服務提供商也會以更便宜的價格,允許您提前買斷未來一到三年的容量。這看似一個不錯的選擇。
不過,面對變化莫測的業(yè)務環(huán)境,我們往往無法準確預知團隊在一到三年內的具體發(fā)展方向,那么又何談提前規(guī)劃容量呢?因此針對預留實例和省錢方案,您應該注意如下幾點:
- 由于預留實例的工作方式屬于“非用即失(use it or lose it)”,那么如果資源被閑置一個小時,則會給您的團隊帶來一個小時的損失。
- 當您承諾持續(xù)使用某些特定資源或消耗水平時,您是假設自己的需求在整個合同期限內,不會發(fā)生變化。但是我們常說互聯網世界瞬息萬變,一年的承諾對于云服務來說“太長了”。而當您的業(yè)務要求超出預定保留的額度時,就必須像前文提到的Pinterest那樣進行溢價支付了。
- 同時,當您發(fā)現自己的業(yè)務一直與預留的容量相差甚遠的使用狀態(tài)時,您實際上就是在為不充分的資源利用而買單。
- 與某個云服務提供商簽訂此類合同,您將面臨著被提供商鎖定的風險,即:在將來一到三年內,您的業(yè)務會重度依賴該提供商,甚至需要跟隨他們的各種變化。
可見,我們需要經過深思熟慮才能去選擇預留資源的模式。
六、為成本優(yōu)化選擇合適的工具
在云服務費用的控制方面,企業(yè)還可以采用的各種成本管理策略與優(yōu)化方案包括:
- 成本可視化和分配——通過使用各種成本分配、監(jiān)控和報告工具,您可以找出費用產生的來源。例如,實時的成本監(jiān)控會在您的使用量超過設定閾值時,立即觸發(fā)提示與報警。曾經有一次,Adobe團隊在Azure上運行了某些計算操作,并由此意外地產生了超過原定50萬美元的云資源占用費。其實,一個簡單的警報就可以防止此類情況的發(fā)生。
- 成本預算和預測——如果您有充足的歷史數據處理經驗,并且對未來的此類需求具有清晰的認識,那么您就可以估計自己的團隊,將需要多少資源,以及投入多少預算。
- 傳統的成本優(yōu)化解決方案——您可以將前面提到的兩點綜合起來,以創(chuàng)建云服務支出的全景圖,以發(fā)現潛在的改進之處。目前,市場上的許多該領域的解決方案可供幫忙,例如:Cloudability或VMware的CloudHeath。當然,在大多數情況下,它們給您提供的只是一些靜態(tài)的建議,并且需要工程師手動去實施。
- 自動化的云原生成本優(yōu)化——作為一類強大的、可降低云成本的解決方案,此類優(yōu)化不需要團隊開展任何額外工作。因此,它們往往為團隊節(jié)省了50%以上的日常工作量。同時,原生自動化方案可以對資源需求的增加、以及定價的變化,自動做出完全自主且快速的響應。
七、云端自動化的優(yōu)勢
通過上述討論,我們可以看到光靠運維人員去分配、理解、分析和預測云端費用,往往是比較麻煩、且不夠準確的。我們需要借助云原生自動化,來輕松地實現基礎架構和資源配置上的調整,啟用更多實例,以及執(zhí)行各種具有成本效益的任務。
此外,自動化解決方案還能夠為我們帶來如下方面的價值:
- 通過選擇最具成本效益的實例類型和容量,來滿足應用的實際需求。
- 自動擴、縮云端資源,以應對業(yè)務需求的高峰和低谷。
- 及時移除未使用的資源,以避免浪費。
- 利用競價實例,來恰當地管理中斷。
- 通過自動化存儲和備份、安全性和合規(guī)性的管理、以及配置和設置上的更改,以協助用戶在各個領域中全面節(jié)省成本。
- 能夠讓各種修改實時生效,并可以掌握云成本優(yōu)化的關鍵時間點。
- 通過在數量上的處理優(yōu)勢,檢查并發(fā)現用戶尚未意識到的方面。
最后,作為案例,我們將AWS的按需實例和競價實例予以了結合,在8個CPU和16 GB內存上運行著自己的應用程序。然后,我們通過CAST AI來運行該應用,以檢查當前的配置是否需要優(yōu)化。該自動化平臺隨后建議我們轉移到競價實例--INF1上。事實證明,該實例實際上比我們之前使用的通用計算實例要便宜得多。可見,自動化的費用監(jiān)控和報告,的確能夠為我們優(yōu)化目標云服務的相關成本。
原文標題:The Ultimate Guide to Cloud Cost Optimization,作者:Leon Kuperman
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】