如何花盡可能少的錢,享用盡可能多的云?
變成靜態
如果你的應用程序大量使用不變的信息,那么由靜態網頁構建的應用程序可能是通過內容分發網絡覆蓋廣泛受眾的最便宜的方式。對于需要大量后端計算和定制的任務來說,它們不是一個很好的解決方案,但也許這種處理可以拆分成單獨的服務。好的靜態框架包括Jekyll、Gatsby、Middleman和Hugo。當程序員可以將所有內容轉移到 CDN 時,他們通常會談論將成本降低 10 或 20 倍。
用無服務器
云通常最適合需求激增的應用程序。如果你的應用程序在數小時甚至數天內基本處于空閑狀態,那么將其重寫為在Cloudflare Workers或AWS Lambda等無服務器框架中運行將意味著你無需為所有停機時間付費。當負載低時,你也不會支付那么多費用。
為Arm重新編譯
AWS 和其他一些云供應商正在添加圍繞 Arm CPU構建的新服務器。這些RISC芯片可以更快、更便宜,但它們通常需要你重新編譯任何二進制應用程序。節省的成本取決于應用程序的類型和機器上的負載。例如,AWS估算其Graviton芯片的效率可能比x86芯片高25% -100% ,甚至更高。由于AWS剛剛推出了新的Graviton3 處理器,因此它的速度可能還會增長,該公司估計它的速度可能比 Graviton2 快三倍,至少在一個基于 bfloat16 值的機器學習應用程序的基準測試中是這樣的。
除非你的服務器正在滿負荷運行,否則要獲得這個數值可能并不容易,這讓一些開發人員有點緊張。一種解決方案是開始使用 Arm 芯片進行全傾斜運行的后臺處理。另一種方法是轉向提供 ARM 處理器的事件驅動計算服務,例如 AWS Lambda,一個勇敢的程序員發現這種解決方案可能會便宜 20%,但僅適用于某些語言和應用程序。是時候開始進行基準測試了。
微小精悍
Arm 選項的數量正在迅速增長,有時甚至以驚人的方式增長。我們中的許多人學會了使用微小的 Raspberry Pi 或 Jetson 機器進行黑客攻擊。這些機器幾乎不需要任何成本。它們是構建嵌入式機器、物聯網應用程序或只想進行試驗的理想選擇。現在它們也可以成為云基礎架構的一部分。例如, Raspberry Hosting和miniNodes將在具有良好互聯網連接的專業數據中心為你提供一個微小的 Raspberry Pi 或 Jetson Nano 板,因此你可以以低廉的價格運行基本軟件。
觀察默認配置
許多云實例采用默認大小,使配置它們更容易。在許多情況下,我們的代碼不需要所有的存儲空間,但我們需要繼續為此付費。幾個月前,我的云賬單幾乎翻了一番,因為我沒有使用本地存儲。更糟糕的是,云計算公司經常使縮小這個未使用的空間變得棘手。如果你在創建過程中保持警惕,通??梢詮淖銐虻目臻g開始運行你的應用程序。
讓每個人都看清成本
我仍然記得,當我要求自己測試集群時,經理臉上的表情,因為我經常碰到另一個程序員。他嘴上說他會調查它,但他的臉色卻表示這是一個代價高昂且不合理的要求。但我是怎么知道的?我團隊的開發人員從未看到任何成本,因為 devops 團隊處理了所有這些細節。
分攤成本有助于工程師了解,當某些 Kubernetes 集群擴展可以承擔一些負載時,每小時的費用會迅速增加。對于開發人員來說,降低成本可能并不容易,甚至不可能,但如果他們知道價格,他們就不太可能吸納更多的云機器。
聘請官方成本工程師
沒有什么能比把責任放在某人的頭銜上,更能明確主要關注點是什么了。一些團隊將一些開發人員指定為“成本工程師”,他們的工作是尋找節省云計算費用的方法。也許這意味著調整一些微服務以使用更少的RAM。也許這意味著將一些偶爾的任務轉移到無服務器配置中??梢哉业皆S多好的受雇者。告訴開發人員,他們的工作指標將與云賬單相關聯,這是將重點轉移到省錢上的好方法。
作者:Peter Wayner,特約撰稿人
來源:www.infoworld.com