針對移轉至 Azure 的工作負載估計成本和調整大小的最佳做法

當您規劃和設計 Azure 移轉時,專注于成本有助於確保移轉的長期成功。 在移轉專案中,所有小組都 (,例如財務、管理和應用程式開發) 瞭解與程式相關聯的成本非常重要。

  • 在移轉之前,務必要有每月、每季和每年預算目標的基準。 此基準可協助您預估移轉所花費的數量,並確保其成功。
  • 移轉之後,將成本優化、持續監視工作負載,以及規劃未來的使用模式。 已移轉的資源可能會以一種工作負載類型開始,但因為使用量、成本和將商務需求轉移,因此會隨著時間變更為另一種類型的工作負載。

本文說明在移轉前後準備移轉和管理成本和大小的最佳做法。

重要

此文章所述的最佳做法與意見是以此文章撰寫當時可用的 Azure 平台與服務為基礎。 特色與功能會隨著時間改變。 並非所有建議都適用于您的部署,因此請選取適合您的建議。

移轉前

將您的工作負載移轉到雲端之前,請預估在 Azure 中執行它們的每月成本。 主動管理雲端成本可協助您遵守營運費用預算。 如果預算有限,請在移轉之前將這個層面納入考慮。 在可能的情況下,考慮將供作負載轉換為 Azure 無伺服器技術以降低成本。

本節中的最佳做法可協助您:

  • 預估成本。
  • 針對虛擬機器 (VM) 和儲存體的調整適當的大小。
  • 使用 Azure Hybrid Benefit。
  • 使用 Azure 保留 VM 執行個體。
  • 預估跨訂用帳戶的雲端費用。

最佳做法:預估每月工作負載成本

您可以使用一些工具來預測您的已移轉工作負載每月帳單。

  • Azure 定價計算機:選取您要預估的產品,例如 VM 和儲存體。 然後,在計算機中輸入成本以建置估計值。

    Azure 定價計算機的螢幕擷取畫面。圖 1:Azure 定價計算機。

  • Azure Migrate: 若要預估成本,請檢閱並考慮在 Azure 中執行工作負載所需的所有資源。 若要取得此資料,請建立資產的清查,包括伺服器、VM、資料庫和儲存體。 您可以使用 Azure Migrate 來收集此資訊。

    • Azure Migrate 會探索並評量您的內部部署環境以提供清查。

    • Azure Migrate 可以對應和顯示 VM 之間的相依性,以便您有完整的圖片。

    • Azure Migrate 評估包含預估成本。

      • 計算成本: 從建立評量時建議的 Azure VM 大小,Azure Migrate 會使用 Azure 計費 API 來計算預估的每月 VM 成本。 預估的過程會考慮作業系統、軟體保證、Azure 保留 VM 執行個體、VM 運作時間、位置與貨幣設定。 Azure Migrate 會匯總評量中所有 VM 的成本,並計算每月計算總成本。
      • 儲存體成本:Azure Migrate 會彙總評量中所有 VM 的儲存體成本,計算出每月的儲存體成本總計。 您可以透過彙總連結到特定機器之所有磁碟的每月成本,以計算該機器的每月儲存體成本。

      Azure Migrate圖 2:Azure Migrate 評定的螢幕擷取畫面。

深入瞭解估計每月工作負載成本

最佳做法:大小適當的 VM

當您部署 Azure VM 以支援工作負載時,您可以選擇數個選項。 每個 VM 類型都有特定的功能與不同的 CPU、記憶體與磁碟組合。 VM 的分組方式如以下圖表所示:

類型 詳細資料 使用方式
一般用途 平衡的 CPU 對記憶體。 適用於測試和開發、小型至中型資料庫,以及低至中流量的 Web 伺服器。
計算最佳化 CPU 對記憶體的比例高。 適用於中流量的 Web 伺服器、網路設備、批次處理以及應用程式伺服器。
記憶體最佳化 高記憶體對 CPU。 適用於關聯式資料庫、中型到大型快取以及記憶體內分析。
儲存體最佳化 高磁碟輸送量及 I/O。 適用於巨量資料以及 SQL 與 NoSQL 資料庫。
GPU 最佳化 特製化 VM。 單一或多個 GPU。 繁重圖形與視訊編輯。
高效能 最快、最強的 CPU。 可配備高輸送量網路介面 (RDMA) 的 VM。 關鍵性高效能應用程式。
  • 請務必了解這些 VM 之間的定價差異,以及長期預算影響。
  • 每個類型中都有一些 VM 系列。
  • 此外,當您選取某個系列中的 VM 時,您只能在該系列中相應增加或相應減少 VM。 例如,DS2_v2 執行個體可以擴大至 DS4_v2,但無法變更為不同系列 (例如 F2s_v2 執行個體) 的執行個體。

深入瞭解 VM 類型和大小

最佳做法:選取正確的儲存體

必須調整及維護內部部署儲存體 (SAN 或 NAS) ,以及支援它們的網路,可能會很昂貴且耗時。 檔案 (儲存體) 資料通常會移轉到is commonly migrated to 雲端,以協助解決作業與管理難題。 Microsoft 提供數個選項讓您將資料移動到 Azure,而且您需要制訂有關那些選項的決策。 為資料挑選正確的儲存體類型每個月可以為您的組織節省數萬塊錢。 以下是幾項考量重點:

  • 非經常存取的資料與非業務關鍵的資料不需要放置在最貴的儲存體上。
  • 相反地,重要的業務關鍵性資料應該位於較高層級的儲存選項上。
  • 在移轉規劃期間,擷取資料的清查並依重要性分類,以將其對應至最適合的儲存體。
  • 請考慮預算和成本和效能。 成本不一定是主要因素。 挑選最便宜的選項可能會讓工作負載面臨效能與可用性風險。

儲存體資料類型

Azure 提供數種儲存體資料類型。

資料類型 詳細資料 使用方式
Blob 經最佳化以儲存大量非結構化物件,例如文字或二進位資料。

透過 HTTP/HTTPS 從任意位置存取資料。

針對串流與隨機存取案例使用。 例如,直接將影像與文件提供給瀏覽器、串流視訊與音訊,以及存放備份與災害復原資料。
檔案 透過 SMB 3.0 存取受控檔案共用。 在移轉內部部署檔案共用時使用 ,並提供多個檔案資料的存取和連線。
磁碟 以分頁 Blob 為基礎。

磁碟類型:標準 HDD/SSD 或進階 SSD。

磁碟管理:非受控 (您負責管理磁碟設定與儲存體) 或受控 (您選取磁碟類型而由 Azure 負責為您管理磁碟)。
為 VM 使用進階磁碟。 使用受控磁碟來獲得簡單的管理與規模調整。
佇列 透過經驗證的呼叫 (HTTP 或 HTTPS) 儲存及擷取大量訊息。 使用非同步訊息佇列,連結應用程式元件。
資料表 存放資料表。 此資料類型是 Azure Cosmos DB for Table 的一部分。

存取層級

Azure 儲存體對於存取區塊 Blob 資料,提供不同的選項。 選取適當的存取層可確保您以最具成本效益的方式儲存區塊 Blob 資料。

存取層 詳細資料 使用方式
經常性 相較於非經常性存取層有較高的儲存體成本。 相較於非經常性存取層有較低的存取費用。

此層是預設值。
將此層用於使用中經常存取的資料。
非經常性 相較於經常性存取層有較低的儲存體成本。 相較於經常性存取層有較高的存取費用。

至少存放 30 天。
短期儲存。 資料可用但不經常存取。
封存 用於個別區塊 Blob。

最具成本效益的儲存體選項。 相較於經常性與非經常性存取層,資料存取成本比較高。
用於可容許數小時擷取延遲且依然會存在於該層至少 180 天的資料。

儲存體帳戶類型

Azure 提供數種儲存體帳戶類型與效能層級。

帳戶類型 詳細資料 使用方式
一般用途 v2 標準 支援 Blob (區塊、分頁和附加)、檔案、磁碟、佇列與資料表。

支援經常性、非經常性與封存存取層。 支援區域備援儲存體 (ZRS) 。
用於大部分案例與大部分類型的資料。 標準儲存體帳戶可以是 HDD 型或 SSD 型。
一般用途 v2 進階 支援 Blob 儲存體資料 (分頁 Blob)。 支援經常性、非經常性與封存存取層。 支援 ZRS。

存放在 SSD 上。
Microsoft 建議為所有 VM 使用。
一般用途 v1 不支援存取分層。 不支援 ZRS。 適用於應用程式需要 Azure 傳統部署模型時。
Blob 用於存取非結構化物件的特殊化儲存體帳戶。 提供區塊 Blob 且只附加 Blob (不附加檔案、佇列、資料表或磁碟儲存體服務)。 提供與一般用途 v2 相同的耐久性、可用性、延展性與效能。 您無法在這些帳戶中儲存分頁 Blob,因此無法儲存 VHD 檔案。 您可以將存取層設定為經常性或非經常性存取層。

儲存體備援選項

儲存體帳戶可以使用不同類型的備援選項來獲得備援能力與高可用性。

類型 詳細資料 使用方式
本機備援儲存體 (LRS) 透過在單一儲存體單位中複寫到不同的容錯網域與更新網域,來在本地服務故障時維持可用性。 在一個資料中心存放您資料的多個複本。 提供至少 99.99999999999% (119 個) 特定年份的物件持久性。 請考慮您的應用程式是否儲存可以輕易重構的資料。
區域備援儲存體 (ZRS) 透過複寫到單一區域中的三個儲存體叢集,來避免資料中心中斷。 每個儲存體叢集的實體位置都不同,而且都位於自己的可用性區域中。 透過跨多個資料中心或區域保留多個資料複本,提供至少 99.999999999999% (129 個) 物件的持久性。 請考慮您是需要一致性、耐久性還是高可用性。 當多個區域都受到永久影響時,可能無法針對區域性災害提供保護。
異地備援儲存體 (GRS) 藉由將資料複寫到與主要區域相距數百英哩的次要區域,以防止整個區域中斷。 提供至少 99.9999999999999999% (16 個九個) 特定年份的物件持久性。 除非 Microsoft 起始容錯移轉到次區域的作業,否則複本資料無法使用。 若發生容錯移轉,讀取與寫入存取可用。
讀取權限異地備援儲存體 (RA-GRS) 類似於 GRS。 提供至少 99.9999999999999999% (16 個九個) 特定年份的物件持久性。 透過為 GRS 所使用之次要區域允許讀取存取權,提供 99.99% 的讀取可用性。

深入瞭解儲存體類型、階層和選項

最佳做法:善用 Azure Hybrid Benefit

整合內部部署 Microsoft 軟體與 Azure 的公事包,可提供競爭性和成本優勢。 如果您目前透過軟體保證擁有作業系統或其他軟體授權,Azure Hybrid Benefit可讓您將這些授權帶您前往雲端。

深入瞭解Azure Hybrid Benefit

最佳做法:使用保留 VM 執行個體

大部分的雲端平台都會使用隨用隨付的付款模型。 此模型有缺點,因為您不見得會知道工作負載的變化情況有多劇烈。 當您為工作負載指定清楚的意圖時,您就為基礎結構規劃做出貢獻。

當您使用 Azure 保留 VM 執行個體時,要預付一年或三年期的 VM 執行個體。

  • 預付提供所使用資源的折扣。
  • 與隨用隨付價格相較之下,您可以大幅減少 VM、Azure SQL 資料庫計算、Azure Cosmos DB 或其他資源成本。
  • 保留會提供計費折扣,且不會影響資源的執行階段狀態。
  • 您可以取消保留執行個體。

使用保留實例比較隨用隨付和Azure Hybrid Benefit的螢幕擷取畫面。圖 3:Azure 保留的 VM 實例。

深入瞭解保留的 VM 實例和定價

最佳做法:彙總整體訂閱的雲端費用

最後,您可能有多個 Azure 訂用帳戶。 例如,您可能需要額外的訂用帳戶來分隔開發和生產界限。 或者,您可能有一個平臺需要每個用戶端的個別訂用帳戶。 因此,跨所有訂用帳戶將資料報告彙總到單一平台的功能非常有價值。

若要匯總所有訂用帳戶的資料包告,請使用 Azure 成本管理 + 計費 API。 然後,將資料匯總成單一來源,例如 Azure SQL Database 之後,請使用 Power BI 之類的工具來呈現匯總的資料。 您可以建立匯總的訂用帳戶報表和細微報表。 例如,針對需要主動式成本管理見解的使用者,可以根據部門、資源群組或其他資訊,建立特定的成本檢視。 您不需要將完整的 Azure 帳單資料存取權提供給他們。

深入瞭解如何匯總資料包告

移轉之後

成功移轉您的工作負載並收集使用量資料數週之後,您將會對資源成本的概念有清楚的了解。 當您分析資料時,您可以為 Azure 資源群組和資源產生預算基準。 接著,當您了解您的雲端預算花在哪裡之後,您可以分析如何進一步降低您的成本。

最佳做法:使用 Azure 成本管理 + 計費

Microsoft 提供 Azure 成本管理 + 計費,協助您追蹤費用。 此服務能夠:

  • 協助您監視及控制 Azure 費用,並將資源的使用最佳化。
  • 檢閱您的整個訂用帳戶與其所有資源,並產生建議。
  • 提供您完整 API 以整合外部工具與財務系統來建立報告。
  • 使用單一的整合式檢視來追蹤資源使用量並協助您管理雲端成本。
  • 提供豐富的營運與財務見解以協助您做出明智的決策。

有了 Azure 成本管理 + 計費,您可以:

  • 建立財務責任的預算。

    • 針對您在每月、每季或每年 () 的特定期間使用或訂閱的服務,以及 (訂用帳戶或資源群組的範圍) 。 例如,您可以針對每月、每季或每年期間建立 Azure 訂用帳戶預算。
    • 建立預算之後,隨即會顯示在成本分析中。 當您在分析成本和支出時,根據目前的支出檢閱預算是很重要的。
    • 選擇在達到預算閾值時傳送電子郵件通知。
    • 將成本管理資料匯出至 Azure 儲存體以進行分析。

    Azure 成本管理 + 計費預算的螢幕擷取畫面。圖 4:Azure 成本管理 + 計費預算。

  • 執行成本分析探索並分析您的組織成本,以了解成本如何產生,並指出費用趨勢。

    • Enterprise 合約使用者可使用成本分析。
    • 檢視各種範圍的成本分析資料,包括依部門、帳戶、訂用帳戶或資源群組。
    • 取得成本分析,其中顯示目前月份的總成本,以及累積的每日成本。

    Azure 成本管理 + 計費分析圖 5 的螢幕擷取畫面:Azure 成本管理 + 計費分析。

  • 取得 Azure Advisor 建議,示範如何優化和提升效率。

深入瞭解成本分析、管理和計費

最佳做法:監視資源使用量

在 Azure 中,您只需要針對您使用的資源付費,而不需要針對未使用資源的情況付費。 針對 VM,帳單會在配置 VM 時產生,而且解除配置 VM 之後,您就不會再收到帳單。 請記住這點,請監視使用中的 VM,並確認 VM 大小調整。

持續評估您的 VM 工作負載以決定基準。 例如,如果您的工作負載在星期一到星期五上午 8 點到下午 6 點大量使用,但在這些小時內很難使用,您可以在尖峰時間外降級 VM。 降級可能表示變更 VM 大小,或使用虛擬機器擴展集來自動增加或減少 VM。 有些公司會透過行事曆「延遲」VM,指定 VM 何時可用,以及何時不需要。

您可以透過 Azure 成本管理 + 計費、Azure 監視器與 Azure Advisor 等 Microsoft 工具,來監視 VM 使用量。 也有第三方工具可用。

注意

除了 VM 監視之外,您也應該監視過度使用或低使用量的其他網路資源 (例如 Azure ExpressRoute 與虛擬網路閘道)。

深入瞭解監視資源

最佳做法:實作資源群組預算

通常您可能會發現使用資源群組表示成本範圍很有用。 資源群組預算可協助您追蹤與資源群組關聯的成本。 當您達到或超過預算時,可以觸發警示並執行各式腳本。

深入瞭解資源群組預算

最佳做法:最佳化 Azure 監視器保留

當您將資源移至 Azure 並為其啟用診斷記錄時,會產生大量的記錄資料。 一般而言,此記錄資料會傳送到對應 Log Analytics 工作區的儲存體帳戶。 下列是一些最佳化 Azure 監視器保留期的秘訣:

  • 資料保留期間越長,您有的資料就越多。
  • 並非所有記錄資料都相等,有些資源會產生比其他資料更多的記錄資料。
  • 由於法規和合規性,您可能需要保留特定資源的記錄資料比其他人長。
  • 您應該在優化記錄儲存體成本,以及保留所需的記錄資料之間,仔細執行一行。
  • 我們建議在完成移轉之後立即評估並設定,這樣您才不會花錢保存非必要的記錄。

深入瞭解記錄資料保留

最佳做法:最佳化儲存體

若您在移轉之前依照最佳做法來選取儲存體,您可能會獲得一些好處。 但您仍然可以優化其他儲存體成本。 隨著時間過去,Blob 與檔案會變成過時狀態。 資料可能無法再使用,但法規需求可能表示您必須將它保存一段時間。 因此,您可能不需要將它存放在用於原始移轉的高效能儲存體上。

識別和移動過時資料到較便宜的儲存區域,對您的每月儲存體預算和節省成本有很大的影響。 Azure 提供許多方法來協助您識別並儲存過時的資料。

  • 利用一般用途 v2 儲存體的存取層優點,將較少的重要資料從經常性存取層移至非經常性存取層或封存層。
  • 使用 StorSimple 來協助移動根據自訂原則的過時資料。

深入瞭解如何優化儲存體

最佳做法:自動進行 VM 最佳化

在雲端中執行 VM 的終極目標是最佳化它所使用的 CPU、記憶體與磁碟。 如果您發現未優化或未使用它們頻繁的 VM,最好是使用虛擬機器擴展集將其關閉或縮小。

使用Azure 自動化、虛擬機器擴展集、自動關機和腳本或協力廠商解決方案優化 VM。

深入瞭解如何自動化 VM 優化

最佳做法:搭配預算 API 使用 Azure Logic Apps 與 Runbook

Azure 提供可存取您租用戶帳單資訊的 REST API。 您可以使用預算 API 來整合外部系統與工作流程 (透過您從 API 資料建置的計量觸發)。 將使用量和資源資料提取至您慣用的資料分析工具。 整合預算 API 與 Azure Logic Apps 和 Runbook。

Azure 資源使用情況和 RateCard API 可協助您準確地預測並管理成本。 API 會實作為資源提供者,並包含在 Azure Resource Manager公開的 API 中。

深入瞭解預算和計費 API

最佳做法:實作無伺服器技術

VM 工作負載通常會依「現況」移轉以避免停機。 VM 通常可以裝載間歇性工作、在短時間內執行,或需要數小時的時間。 範例包括執行已排定工作 (例如 Windows 工作排程器或 PowerShell 指令碼) 的 VM。 當這些工作未執行時,您必須吸收 VM 與磁碟儲存體成本。

在移轉並徹底檢閱這些類型的工作之後,您可能可以考慮將其移轉到無伺服器技術,例如 Azure Functions 或 Azure Batch 作業。 這些解決方案可以降低成本,您也不再需要管理及維護 VM。

深入瞭解如何使用無伺服器技術

後續步驟

檢閱其他最佳做法: