共用方式為


Azure VMware 解決方案工作負載的應用程式考慮

本文討論Azure VMware 解決方案工作負載的應用程式平臺設計區域。 此區域涵蓋與部署、設定及維護裝載于Azure VMware 解決方案環境中的應用程式相關聯的特定工作和責任。 應用程式擁有者負責Azure VMware 解決方案環境中的應用程式。 此個人或小組會管理與應用程式部署、設定、監視和維護相關的層面。

妥善架構應用程式的主要目標包括:

  • 設計規模。 適當地處理較高的使用者需求和並行交易,而不會降低或服務中斷。
  • 效能: 提供快速、低延遲的回應時間,並有效率地管理資源使用率。
  • 可靠性和復原能力。 設計備援、容錯模式,以協助確保您的應用程式保持回應,並從失敗快速復原。

本文旨在為開發人員、架構設計人員和應用程式擁有者提供Azure VMware 解決方案特有的最佳做法。 這些做法可協助您建置在其生命週期中維持健全、安全、可調整且可維護的應用程式。

設計延展性和有效率的資源分佈

影響:可靠性、效能效率、安全性

本節涵蓋在Azure VMware 解決方案私人雲端內,跨虛擬機器 (VM) 和工作負載之間運算資源的有效配置和使用率。 這些資源可能包括 CPU、記憶體、儲存體和網路資源。 本節也會探索回應式調整技術的實作。 您可以使用這些技術來動態調整資源布建,以因應需求波動。 主要目標是藉由降低使用量過低和過度布建來達到最佳資源使用率,這可能會導致效率不佳和呈報費用。

使用容錯網域

Azure VMware 解決方案中的容錯網域代表延展式叢集中資源的邏輯群組。 這些資源會共用常見的實體容錯網域。 容錯網域有助於改善各種失敗案例的可用性。 將資源組織到容錯網域有助於確保應用程式的重要元件分散到多個失敗網域。

藉由將 VM 和其他資源放入不同的容錯網域,應用程式小組可協助確保應用程式在資料中心或基礎結構失敗期間仍可供使用。 例如,您可以將 VM 分成分散于地理分散資料中心的容錯網域。 然後,如果一個資料中心發生完整失敗,您的應用程式仍可繼續運作。

應用程式小組應該考慮定義以容錯網域為基礎的 VM-VM 親和性和反親和性規則。 VM-VM 親和性規則會將重要的 VM 放在相同的容錯網域中,以確保它們不會分散到多個資料中心。 反親和性規則可防止相關的 VM 放在相同的容錯網域內。 此做法有助於確保備援性。

在三層式應用程式中使用 VM-VM 反親和性原則

在Azure VMware 解決方案中,VM-VM 反親和性原則的使用案例牽涉到三層式應用程式。 目標是要增強每個應用層的高可用性、容錯和復原能力。 若要達成此目標,您可以使用反親和性原則,將階層分散到Azure VMware 解決方案私人雲端內的不同主機。

若要實作此使用案例,請跨三層使用 VM-VM 反親和性原則來建立分散式容錯架構。 此設定可改善整個應用程式的可用性,並協助確保單一主機的失敗不會中斷整個層或整個應用程式。

例如,在提供使用者要求的前端 Web 層中,您可以套用 VM-VM 反親和性原則,將 Web 服務器分散到不同的實體主機。 此方法有助於改善高可用性和容錯。 同樣地,您可以使用反親和性量值來協助保護商務層中的應用程式伺服器,以及在資料庫層內強化資料復原能力。

此架構圖表顯示使用 VM-VM 親和性原則分割的三層式應用程式。

建議
  • 建立顯示 VM 相依性、通訊和使用模式的對應,以確保鄰近性是需求。
  • 判斷放置原則 VM-VM 親和性是否有助於符合效能計量或服務等級協定, (SLA) 。
  • 實作放置 VM-VM 反親和性原則來保護主機失敗,並將您的應用程式分散到多部主機,以設計高可用性。
  • 若要避免過度布建,請將工作負載分散到小型 VM,而不是幾個大型 VM。
  • 定期監視、檢閱和微調親和性原則,以識別潛在的資源爭用。 視需要調整這些原則。

使用 VM 主機親和性原則進行效能隔離

某些在不同應用層中執行 VM 的工作負載會在共置時執行得更好。 當應用程式需要下列情況時,通常會發生此使用案例:

  • 耗用大量資源、高效能計算工作負載的效能隔離
  • 符合授權合約。 例如,系統規格可能需要將 VM 與特定核心集建立關聯的對應,以維持與 Windows 或SQL Server授權的合規性。
  • 法規合規性和資料完整性 ,以確保屬於特定安全性網域或資料分類的 VM 僅限於叢集中的特定主機或主機子集。
  • 簡化的網路設定,可將 VM 放在相同的主機上。 在此情況下,會簡化階層之間的網路設定。 階層會共用相同的網路連線能力,而且不需要額外的網路躍點。

如果必須維護應用層的共置,您可以選擇 VM 主機 親和性原則,以確保層部署在相同的主機上和相同的可用性區域內。

此架構圖顯示使用 VM 主機親和性原則分割的三層式應用程式。

注意

平臺小組負責設定 VM 放置、主機親和性規則和資源分享。 但應用程式小組應該瞭解每個應用程式的效能需求,以確保符合應用程式需求。

應用程式小組必須全面評估 VM 放置,並參與規劃。 VM 放置可能會帶來潛在的挑戰,例如資源不平衡和不平均的工作負載分佈。 這些情況可能會導致效能和資源優化產生負面影響。 此外,將所有工作負載放在一個可用性區域中,可以在災害中建立單一失敗點。 請考慮跨多個可用性區域複寫您的設定,以在失敗期間增強資料中心復原能力。

建議
  • 仔細規劃如何使用放置原則 VM 主機親和性原則。 盡可能考慮替代解決方案,例如負載平衡、VMware vSphere 中的資源集區、分散式資料庫、容器化和可用性區域。
  • 定期監視資源使用率和效能,以找出任何不平衡或問題。
  • 選擇平衡且有彈性的 VM 放置策略。 此方法可協助您將資源使用率最大化,同時維持高可用性並確保符合授權需求。
  • 測試並驗證您的放置原則 VM 主機親和性設定,以確保它們符合應用程式的特定需求,而且它們不會對整體效能和復原造成負面影響。

使用應用程式或網路負載平衡器分散流量

除了使用放置原則之外,負載平衡也是新式應用程式的重要元件,可協助確保:

  • 有效率的資源分佈。
  • 增加應用程式可用性。
  • 最佳的應用程式效能。

負載平衡符合這些準則,同時維持工作負載調整和管理的彈性。

在 VM 上部署應用程式之後,請考慮使用Azure 應用程式閘道之類的負載平衡工具來建立後端集區。 應用程式閘道是受控 Web 流量負載平衡器和應用程式傳遞服務,可管理和優化 Web 應用程式的連入 HTTP 和 HTTPS 流量。 作為 Web 流量的進入點,應用程式閘道提供各種功能類型。 範例包括 TLS/SSL 終止、URL 型路由、會話親和性和 Web 應用程式防火牆功能。

此架構圖顯示流量如何從瀏覽器流經應用程式閘道流向後端集區。

在後端集區中的資源可供使用之後,請建立接聽程式來指定連入要求的埠和路由規則。 然後,您可以建立健康情況探查來監視 VM 的健康情況,並指出何時從輪替中移除狀況不良的後端資源。

實作 TLS/SSL 終止和憑證管理

您必須針對應用程式與使用者瀏覽器之間的所有通訊強制執行 TLS/SSL 加密。 此加密可協助保護會話資料免于竊聽和攔截式攻擊。 如果您的應用程式需要 TLS/SSL 終止,請在 應用程式閘道中設定必要的 TLS/SSL 憑證,以從後端 VM 卸載 TLS/SSL 處理。

產生 TLS/SSL 憑證之後,將它們放在 Azure 金鑰保存庫之類的服務中,以協助您安全地儲存和存取它們。 使用 PowerShell、Azure CLI 或Azure 自動化之類的工具來更新和更新憑證。

管理 API

Azure API 管理可協助您安全地在內部和外部部署的 API 端點發佈。 端點的範例是後端 API,其位於負載平衡器或應用程式閘道後方的Azure VMware 解決方案私人雲端中。 API 管理透過套用安全性原則來強制執行驗證和授權,協助您管理 API 的方法和行為。 API 管理也可以透過 應用程式閘道,將 API 要求路由傳送至後端服務。

在下圖中,取用者之間的流量會移至API 管理公用端點。 流量接著會轉送到在 Azure VMware 解決方案 上執行的後端 API。

連線到中央中樞之Azure VMware 解決方案資料中心的架構圖。中樞主機應用程式閘道和API 管理。

建議
  • 若要增強Azure VMware 解決方案應用程式的安全性和效能,請使用應用程式閘道搭配Azure VMware 解決方案後端,將流量散發至應用程式端點。
  • 請確定後端區段之間有裝載Azure VMware 解決方案的連線能力,以及包含應用程式閘道或負載平衡器的子網。
  • 設定健康情況證明可監視後端實例的健康情況。
  • 將 TLS/SSL 終止卸載至應用程式閘道,以減少後端 VM 上的處理額外負荷。
  • 安全地將 TLS/SSL 金鑰儲存在保存庫中。
  • 自動化憑證更新和更新等工作,以簡化程式。

優化延展式叢集,以強化商務持續性和災害復原整備程度

影響:可靠性

延展式叢集可為 VMware 叢集提供跨多個地理位置分散資料中心的高可用性和災害復原功能。

下列設定支援主動-主動架構。 虛擬儲存區域網路 (vSAN) 跨越兩個資料中心。 第三個可用性區域會對應至 vSAN 見證,作為分割大腦案例的仲裁。

顯示跨兩個可用性區域的 vSAN 延展式叢集的架構圖。第三個區域包含 vSAN 見證。

將應用程式分散到多個可用性區域和區域,有助於確保資料中心失敗期間持續可用性。 跨資料中心部署應用層和資料層,並開啟同步複寫。

設定容錯和容錯容許 (FTT) 原則

應用程式的可用容量總計取決於數個變數。 範例包括獨立磁片的備援陣列, (RAID) 組態、屬性 failures to tolerate 的值,以及容許 (FTT) 原則,以控制儲存體系統可容許的失敗數目。 應用程式小組必須判斷應用程式所需的備援層級。 也請務必注意,較高的 FTT 值可改善資料復原能力,但會增加儲存體額外負荷。

建議
  • 跨共用儲存體部署您的應用程式,讓 VM 資料在延展式叢集中保持一致。 開啟同步複寫。
  • 設定容錯網域,以定義延展式叢集在失敗案例中應如何回應。
  • 實作自動容錯移轉和容錯回復,以將容錯移轉和復原事件期間的手動介入降至最低。

設定資料同步處理和儲存體原則

當您的應用程式依賴具狀態資料和資料庫,以確保災害期間的一致性和可用性時,資料同步處理方法很重要。 資料同步處理有助於為執行應用程式的重要 VM 提供高可用性和容錯。

應用程式擁有者可以定義儲存體原則,以協助確保:

  • 執行應用程式的重要 VM 會收到所需的資料備援和效能層級。
  • VM 會定位在Azure VMware 解決方案中利用延展式叢集的高可用性功能。

範例原則可能涉及下列因素:

  • vSAN 組態。 跨可用性區域搭配延展式叢集使用 VMware vSAN。
  • 容許的失敗數目。 將原則設定為容許至少一或多個失敗。 例如,使用 RAID-1 版面配置。
  • 效能。 設定效能相關設定,以優化重要 VM 的 IOPS 和延遲。
  • 親和性規則。 設定親和性規則,以協助確保 VM 或 VM 群組放在延伸叢集中的個別主機或容錯網域中,以在資料中心失敗期間最大化可用性。
  • 備份和複寫。 指定與備份和複寫解決方案的整合,以確保 VM 資料會定期備份並複寫到次要位置,以進行額外的資料保護。
建議
  • 在 vSAN 中定義資料儲存原則,以指定各種 VM 磁片所需的備援和效能。
  • 將應用程式設定為在主動-主動或主動-被動組態中執行,讓重要的應用程式元件在資料中心失敗期間可能會失敗。
  • 瞭解每個應用程式的網路需求。 跨可用性區域執行的應用程式可能會產生比可用性區域內流量的應用程式更高的延遲。 設計您的應用程式以容許此延遲。
  • 在您的放置原則上執行效能測試,以評估其對應用程式的影響。

後續步驟

既然您已檢查應用程式平臺,請參閱如何建立連線能力、為您的工作負載建立周邊,以及平均散發流量至應用程式工作負載。

使用評定工具來評估您的設計選擇。