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