共用方式為


擴展容器和無伺服器應用程式

小提示

此內容摘錄自適用於 Azure 的電子書《架構雲端原生 .NET 應用程式》,該書可在 .NET Docs 上閱讀,或以 PDF 格式免費下載並離線閱讀。

Azure 電子書的雲端原生 .NET 應用程式封面縮圖。

有兩種方式可以調整應用程式:向上擴展或向外擴展。前者是指將資源的容量增大,而後者則是指新增更多資源來增加容量。

簡單的解決方案:擴大規模

透過增加 CPU、記憶體、磁碟 I/O 速度和網路 I/O 速度升級現有的主機,稱為 向上擴展。 擴展雲原生應用程式是選擇雲端廠商提供的更強大的資源。 例如,您可以在 Kubernetes 叢集中建立具有較大 VM 的新節點集區。 然後,將您的容器化服務移轉至新的集區。

無伺服器應用程式的擴展可以透過選擇 進階 Functions 方案 或專用應用程式服務方案中的進階實例大小來實現。

水平擴展雲端原生應用程式

雲端原生應用程式通常會遇到需求大幅波動,並需要即時擴展規模。 它們偏好水平擴展。藉由將其他計算機(稱為節點)或應用程式實例新增至現有的叢集,以水平方式擴展。 在 Kubernetes 中,您可以透過手動調整應用程式的組態設定來進行擴展(例如,擴展節點池),或使用自動調整功能。

AKS 叢集可以透過下列兩種方式之一自動調整:

首先,水平 Pod 自動調整器 監控資源需求,並自動調整您的 Pod 副本以滿足需求。 當流量增加時,系統會自動配置額外的複本以擴展您的服務。 同樣地,當需求減少時,系統會將其移除以相應縮小您的服務。 您可以定義要調整的計量,例如 CPU 使用量。 您也可以指定要執行的複本數目下限和上限。 AKS 會監視該計量並據以調整。

接下來, AKS 叢集自動調整程式 功能可讓您自動調整 Kubernetes 叢集之間的計算節點以符合需求。 只要需要更多計算容量,您就可以自動將新的 VM 新增至基礎 Azure 虛擬機擴展集。 它也會在不再需要時移除節點。

圖 3-11 顯示這兩個調整服務之間的關聯性。

擴展 App Service 計劃。

圖 3-11。 水平擴展 App Service 計劃。

共同作業可確保容器實例和計算節點的最佳數目,以支持變動的需求。 水平 Pod 自動縮放器會優化所需 Pod 的數量。 叢集自動調整程式會將所需的節點數目優化。

擴展 Azure Functions

Azure Functions 會依據需求自動擴展。 伺服器資源會根據觸發的事件數目動態配置和移除。 您只需支付函式執行時所耗用的計算資源費用。 計費是以所使用的執行次數、運行時間和記憶體為基礎。

雖然預設耗用量方案可為大部分應用程式提供經濟且可調整的解決方案,但進階選項可讓開發人員彈性地滿足自定義 Azure Functions 需求。 升級至進階方案可控制實例大小、預先暖化實例(以避免冷啟動延遲),以及專用 VM。