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