技術(shù)
導(dǎo)讀:云計(jì)算對(duì)于企業(yè)來說最初是一個(gè)經(jīng)濟(jì)命題。服務(wù)器在當(dāng)時(shí)很昂貴,數(shù)據(jù)中心蓬勃發(fā)展所需的大量互聯(lián)網(wǎng)連接也很昂貴。為什么不直接租用并不再為硬件和員工支付高額費(fèi)用?運(yùn)營大型云數(shù)據(jù)中心可以節(jié)省大量資金。
如果知道一些技巧和方法的話,企業(yè)可以將云計(jì)算成本減少30%甚至更多。
云計(jì)算對(duì)于企業(yè)來說最初是一個(gè)經(jīng)濟(jì)命題。服務(wù)器在當(dāng)時(shí)很昂貴,數(shù)據(jù)中心蓬勃發(fā)展所需的大量互聯(lián)網(wǎng)連接也很昂貴。為什么不直接租用并不再為硬件和員工支付高額費(fèi)用?運(yùn)營大型云數(shù)據(jù)中心可以節(jié)省大量資金。
在十多年后的今天,云計(jì)算的成本開始增加。企業(yè)很容易在一些較小實(shí)例上花費(fèi)數(shù)百萬美元的費(fèi)用。
以下是降低云計(jì)算成本的一些方法,許多方法都涉及改善溝通,以便開發(fā)人員和devops團(tuán)隊(duì)可以做出更明智的財(cái)務(wù)決策。但沒有一個(gè)是完美的,所有這些方法都涉及權(quán)衡。雖然沒有一種方法適用于所有情況,但這些方法都值得考慮。
1.轉(zhuǎn)向商用云提供商
大型云計(jì)算公司提供了一系列選擇,包括一些一流的服務(wù),這些服務(wù)既適用于數(shù)據(jù)存儲(chǔ)等平凡的工作,也適用于機(jī)器學(xué)習(xí)或計(jì)算機(jī)視覺等復(fù)雜的工作。但是,如果不打算使用所有最好的API和服務(wù),可以找到商用云提供商,它們或多或少地以更低的價(jià)格出售相同的產(chǎn)品或服務(wù)。Linode、DigitalOcean、Vultr、Hetzner、Scaleway和LightSail等企業(yè)的報(bào)價(jià)可能更便宜,尤其是對(duì)于簡單的負(fù)載。
2.查找主要的云折扣
用戶可以利用云計(jì)算提供商的價(jià)格折扣。例如,AWS公司通過預(yù)留實(shí)例為長期承諾提供折扣。當(dāng)價(jià)格下跌時(shí),他們的現(xiàn)貨市場可能是運(yùn)行后臺(tái)處理的好地方。谷歌云平臺(tái)提供自動(dòng)折扣,用戶的服務(wù)運(yùn)行時(shí)間越長,折扣就越高。其價(jià)格是為想要即時(shí)滿足和立即啟動(dòng)的機(jī)器的企業(yè)制定的。提前計(jì)劃并尋找折扣選項(xiàng)是降低主要云計(jì)算成本的最簡單方法之一。
3.采用混合云
并不是每個(gè)企業(yè)都有備用的服務(wù)器,但那些擁有的企業(yè)可以利用日益復(fù)雜的軟件包來構(gòu)建將它們連接在一起的安全子網(wǎng)。這樣可以降低成本,甚至可能更加安全。
Tailscale、Submariner和Traefik只是使用公有云和私有云構(gòu)建這種安全網(wǎng)格的一些選項(xiàng)。有些用戶正在構(gòu)建Kubernetes集群,其他用戶只是托管不需要低延遲的后端服務(wù)。雖然這不是面向客戶工作負(fù)載的解決方案,但組合一些有用的后臺(tái)處理工具比以往任何時(shí)候都要容易。
4.探索采用裸機(jī)服務(wù)器
不是每個(gè)人都需要現(xiàn)代云實(shí)例的靈活性。一些供應(yīng)商正在出租服務(wù)器,而不需要額外的管理程序和虛擬化層。企業(yè)可以采用裸機(jī)機(jī)器,也減少了對(duì)安全性的擔(dān)憂,將得到root密碼。企業(yè)可能需要在整理操作系統(tǒng)(OS)層方面做更多的工作,但有時(shí)這會(huì)帶來更好地調(diào)整機(jī)器的機(jī)會(huì)。IBM、OVHcloud、GTHost和Vultr是出租裸機(jī)服務(wù)器的眾多公司的其中幾家。
5.分解賬單并關(guān)注各部分的情況
一些云計(jì)算用戶在收到月度賬單時(shí)會(huì)崩潰,因?yàn)樗麄兊膽?yīng)用程序針對(duì)大量數(shù)據(jù)用戶,一些云平臺(tái)會(huì)收取數(shù)據(jù)泄露的費(fèi)用,這可能會(huì)增加成本,尤其是在企業(yè)的數(shù)據(jù)泄露的情況下。Cloudflare等其他公司正在構(gòu)建不收取滲透費(fèi)用的網(wǎng)絡(luò)。因此,企業(yè)仔細(xì)查看其應(yīng)用程序的配置文件。是網(wǎng)絡(luò)、數(shù)據(jù)存儲(chǔ)或賬單上某個(gè)特定項(xiàng)目的用戶嗎?其他一些云計(jì)算提供商很有可能會(huì)提供更好的答案。
6.停止為數(shù)據(jù)存儲(chǔ)支付額外費(fèi)用
Backblaze或Wasabi等少數(shù)云計(jì)算提供商專注于低價(jià)提供數(shù)據(jù)存儲(chǔ),其收費(fèi)比主要云存儲(chǔ)供應(yīng)商低80%。節(jié)省的成本也可能更多,因?yàn)樗鼈兙哂胁煌臄?shù)據(jù)移動(dòng)費(fèi)用結(jié)構(gòu),從而使企業(yè)可以節(jié)省費(fèi)用。這些提供商還提供與Amazon S3兼容的API,使切換變得簡單。
7.采用靜態(tài)網(wǎng)頁
如果企業(yè)的應(yīng)用程序需要大量不變的信息,那么由靜態(tài)網(wǎng)頁構(gòu)建的應(yīng)用程序可能是通過內(nèi)容分發(fā)網(wǎng)絡(luò)覆蓋廣泛受眾的成本最低的方式。對(duì)于需要大量后端計(jì)算和定制的任務(wù),它們不是一個(gè)很好的解決方案,但也許可以將處理拆分為一個(gè)單獨(dú)的服務(wù)。良好的靜態(tài)框架包括Jekyll、Gatsby、Middleman和Hugo。當(dāng)程序員可以將所有內(nèi)容轉(zhuǎn)移到CDN時(shí),可能會(huì)顯著降低成本。
8.采用無服務(wù)器
云計(jì)算通常更適合需求激增的應(yīng)用程序。如果企業(yè)的應(yīng)用程序閑置數(shù)小時(shí)甚至數(shù)天,那么將其重寫為在Cloudflare Workers或AWS Lambda等無服務(wù)器框架中運(yùn)行,這將意味著無需為所有停機(jī)時(shí)間付費(fèi)。當(dāng)負(fù)載低時(shí),也不會(huì)支付那么多費(fèi)用。
9.為Arm重新編譯
AWS和其他一些云計(jì)算供應(yīng)商正在添加圍繞Arm CPU構(gòu)建的服務(wù)器。這些RISC芯片的運(yùn)行速度更快、更便宜,但它們通常需要重新編譯二進(jìn)制應(yīng)用程序。其成本節(jié)省取決于應(yīng)用程序的類型和機(jī)器上的負(fù)載。例如,AWS公司估計(jì)其Graviton芯片的效率可能比x86芯片高25%到100%甚至更高。由于AWS公司剛剛推出了新的Graviton3處理器,因此處理速度可能會(huì)增長,該公司估計(jì)該處理器的速度可能比Graviton2快三倍,至少在基于bfloat16值的機(jī)器學(xué)習(xí)應(yīng)用程序基準(zhǔn)測試中是這樣。
除非企業(yè)的服務(wù)器正在滿負(fù)荷運(yùn)行,否則要捕獲此值可能并不容易,這讓一些開發(fā)人員有些緊張。一種解決方案是開始使用Arm芯片進(jìn)行后臺(tái)處理。另一種方法是轉(zhuǎn)向提供ARM處理器的事件驅(qū)動(dòng)計(jì)算服務(wù)(例如AWS Lambda),編程人員發(fā)現(xiàn)這種解決方案可能會(huì)節(jié)省20%的成本,但僅適用于某些語言和應(yīng)用程序。
10.采用微型服務(wù)器
Arm選項(xiàng)的數(shù)量正在迅速增長,有時(shí)甚至以驚人的方式增長。很多人使用幾乎沒有成本的小型Raspberry Pi或Jetson機(jī)器進(jìn)行黑客攻擊。它們是構(gòu)建嵌入式機(jī)器、物聯(lián)網(wǎng)應(yīng)用程序或只是試驗(yàn)的理想選擇?,F(xiàn)在它們也可以成為企業(yè)的云計(jì)算基礎(chǔ)設(shè)施的一部分。例如,Raspberry Hosting和miniNodes會(huì)在專業(yè)的數(shù)據(jù)中心為企業(yè)租用一個(gè)小型Raspberry Pi或Jetson Nano,并有大量的互聯(lián)網(wǎng)連接,這樣就能夠以低廉的價(jià)格運(yùn)行基本軟件。
11.觀察默認(rèn)配置
許多云計(jì)算實(shí)例的默認(rèn)大小使其配置更容易。在很多情況下,企業(yè)的代碼并不需要所有的存儲(chǔ)空間,但需要繼續(xù)為此支付費(fèi)用。更糟糕的是,云計(jì)算提供商通常很難縮小這個(gè)未使用的空間。如果在創(chuàng)建過程中保持警惕,通常可以具有足夠的空間運(yùn)行其應(yīng)用程序。
12.讓每個(gè)人都清楚成本
有些企業(yè)的開發(fā)人員從未看到任何成本,因?yàn)閐evops團(tuán)隊(duì)處理了所有這些細(xì)節(jié)。
分?jǐn)偝杀居兄诠こ處熈私馊绾喂?jié)省成本,當(dāng)某些Kubernetes集群擴(kuò)展以承擔(dān)一些負(fù)載時(shí),將會(huì)迅速增加成本。開發(fā)者降低成本可能并不容易,但如果他們知道成本的話,他們就不太可能采用多余的云計(jì)算資源。
13.雇傭成本工程師
一些團(tuán)隊(duì)將一些開發(fā)人員指定為“成本工程師”,他們的工作是尋找節(jié)省云計(jì)算成本的方法。也許這意味著調(diào)整一些微服務(wù)以使用更少的內(nèi)存。也許這意味著將一些偶爾的任務(wù)轉(zhuǎn)移到無服務(wù)器配置中。讓開發(fā)人員了解其工作指標(biāo)將與云計(jì)算賬單相關(guān)聯(lián),這是將重點(diǎn)轉(zhuǎn)移到節(jié)省成本的好方法。