不要因為使用Azure虛擬機(jī)而從微軟那里獲得巨額的月度賬單。了解你的業(yè)務(wù)需求,然后調(diào)整Azure中的選項以最小化費用。 將虛擬機(jī)遷移到云端聽起來很不錯——直到您的IT部門接到巨額賬單。
對于虛擬機(jī)運行的每一分鐘和它使用的每一個字節(jié),Microsoft都會將相應(yīng)費用添加到每個月的選項卡上。如何管理Azure的成本?公式很簡單——管理員應(yīng)該在工作負(fù)載遷移到Azure之前,了解大概的價格和合適配置的虛擬機(jī),以減少不必要的開支。
找到合適的Azure區(qū)域
第一步是選擇合適的Azure區(qū)域。每個區(qū)域都有不同的資源、能力和服務(wù);這些方面——以及相對于業(yè)務(wù)的相對位置——導(dǎo)致了每個區(qū)域的成本差異。并不是每個區(qū)域都可用——這取決于組織的位置或訂閱。例如,美國的用戶不能在沒有澳大利亞帳單地址的情況下使用澳大利亞的數(shù)據(jù)中心。
當(dāng)涉及到數(shù)十臺服務(wù)器時,遷移到較便宜的Azure區(qū)域會帶來明顯的不同。然而,如果應(yīng)用程序遠(yuǎn)離用戶和客戶,那么遷移到不同的Azure區(qū)域?qū)驗樗黾拥难舆t而影響最終的用戶體驗。管理員使用微軟的Azure延遲測試站點來了解每個區(qū)域的網(wǎng)絡(luò)性能。
不要構(gòu)建一成不變的虛擬機(jī)要想進(jìn)一步降低Azure成本,請將VM調(diào)整到適當(dāng)?shù)男阅芗墑e。例如,區(qū)分生產(chǎn)環(huán)境和開發(fā)/測試環(huán)境,并相應(yīng)地構(gòu)建虛擬機(jī)。開發(fā)/測試虛擬機(jī)通常不需要生產(chǎn)規(guī)格,因為它們很少需要高可用性。減少開發(fā)/測試虛擬機(jī)的資源及其相關(guān)成本,使其只獲得他們所需的資源即可。
調(diào)研基礎(chǔ)架構(gòu)即服務(wù)(IaaS)服務(wù)器在管理員用于創(chuàng)建服務(wù)器的基于Web的GUI向?qū)е?,Azure會默認(rèn)提供高性能虛擬機(jī)。點擊對話框右上角的“View All”來顯示服務(wù)器規(guī)格的可選范圍。A0很小,成本遠(yuǎn)遠(yuǎn)低于微軟默認(rèn)建議的選項,這使得它成為做實驗的理想選擇。
圖1:AO服務(wù)器規(guī)模是最小的、最低便宜的選擇
A0也是會超額訂閱的,這意味著CPU性能會根據(jù)節(jié)點中的其他工作負(fù)載而變化。 較低的層也不支持負(fù)載均衡,并且還有一些其他限制,但是這種級別的虛擬機(jī)是理想的廉價測試機(jī)器。
管理員還可以通過選擇磁盤來限制Azure成本。要構(gòu)建IaaS VM,有兩個選項:硬盤驅(qū)動器或固態(tài)驅(qū)動器(SSD)。標(biāo)準(zhǔn)磁盤對于大多數(shù)工作負(fù)載來說已經(jīng)足夠好了,它的速度可以達(dá)到500 IOPS,具體取決于配置。如果速度不是問題,請避免使用更昂貴的SSD選項。
除了IaaS以外,還有許多用戶不知道或無法理解的其他選項。
實現(xiàn)服務(wù)即為服務(wù)一些剛接觸云的管理員把它看作是純粹的IaaS,所有的東西都需要在自己的虛擬機(jī)上運行。這是一個選項——但卻是昂貴的一個。
相反,考慮一下SQL Server以及所有用于計算、存儲和許可的相關(guān)成本。為什么要處理價格和部署問題,而不是去使用SQL Server即服務(wù)呢?后者更為便宜——一個安裝了SQL標(biāo)準(zhǔn)版的Standard_B4ms虛擬機(jī)(四核,16 GB內(nèi)存)的成本大約是每月383美元,而標(biāo)準(zhǔn)層上多個數(shù)據(jù)庫的Azure設(shè)置每個月的成本為224美元。另外,SQL即服務(wù)還能夠?qū)⒐芾韱T從補丁和更新的過程中解放出來。
檢查公司的安全要求,看看是否真的沒有使用云中的數(shù)據(jù)庫服務(wù)器。由于這些數(shù)據(jù)庫與潛在的數(shù)百家其他公司共享資源,因此漏洞或錯誤配置可能導(dǎo)致數(shù)據(jù)泄露到企業(yè)外部。
分析云資源成本在遷移到云之前,管理員必須了解業(yè)務(wù)需求,并了解所需要付出的代價。本地部署的計算效率低下且無處不在,從而增加了開支,但大多數(shù)環(huán)境下缺少每月賬單使得這些成本沒有被顯示出來。
同樣道理,了解云環(huán)境的要求以及應(yīng)用程序和基礎(chǔ)設(shè)施的開銷也是至關(guān)重要的。使用微軟的Azure計算器來計算潛在的價格。
捆綁資源以便管理管理員應(yīng)該利用資源組來進(jìn)一步控制Azure成本。該功能將虛擬機(jī),數(shù)據(jù)庫等資源的服務(wù)資源集中到一個單元中。一旦業(yè)務(wù)不再需要該服務(wù),管理員就會刪除該資源組。這就避免了一種常見的管理問題,即IT人員漏掉了一項,而它的費用在下一個賬單中顯示了出來。
高效的代碼帶來不同在本地場景中,管理員通過額外的資源來克服低效的代碼。在云中,每項事務(wù)或每秒都有成本,更好的編程可以降低開支。
例如,一個沒有經(jīng)驗的數(shù)據(jù)庫程序員建立一個額外的臨時數(shù)據(jù)庫,每次在云上增加一個新的數(shù)據(jù)時,公司就會花費更多的錢。這種低效的做法帶來的影響會隨著每個部署的實例加倍擴(kuò)散,成本也是如此。一個對SQL理解更透徹的更好的程序員可以避免這種浪費,并且構(gòu)建出的代碼運行時間更短。
好的程序員需要更高的薪水,但對于使用云擴(kuò)展的公司來說,這樣的花費是值得的。從長遠(yuǎn)來看,企業(yè)可以節(jié)省更多的錢,因為較低的資源使用率(得益于更好的代碼)會讓來自微軟的賬單變小。