調整容器和無伺服器應用程式的規模
縮放應用程式有兩種方式:擴大或擴增。前者是指將容量新增至單一資源,而後者則是指新增更多資源來增加容量。
簡單解決方案:擴大
升級現有主機伺服器,增加 CPU、記憶體、磁碟 I/O 速度和網路 I/O 速度,稱為「擴大」。 擴大雲端原生應用程式涉及從雲端廠商選擇更有效的資源。 例如,您可以在 Kubernetes 叢集中建立具有較大 VM 的新節點集區。 接著將您的容器化服務移轉至新的集區。
無伺服器應用程式會從專用應用程式服務方案選擇進階 Functions 方案或進階執行個體大小來擴大。
擴增雲端原生應用程式
雲端原生應用程式經常會遇到需求大幅波動,且需要提前縮放。 這些應用程式偏好擴增。將其他機器 (稱為節點) 或應用程式執行個體新增至現有叢集,以水平方式擴增。 在 Kubernetes 中,您可以調整應用程式的組態設定 (如縮放節點集區) 手動縮放,或自動調整來縮放。
AKS 叢集可以透過下列兩種方式之一自動調整:
首先,水平 Pod 自動調整程式會監視資源需求,並自動調整您的 POD 複本加以滿足。 當流量增加時,系統會自動佈建其他複本以擴增您的服務。 同樣地,當需求減少時,系統會將其移除以縮減您的服務。 您可以定義要縮放的計量,例如 CPU 使用量。 您也可以指定要執行的複本數目下限和上限。 AKS 會監視該計量並據以縮放。
接著,AKS 叢集自動調整程式功能可讓您自動調整 Kubernetes 叢集中的計算節點以滿足需求。 有了此功能,只要需要更多計算容量,您就可以自動將新的 VM 新增至基礎 Azure 虛擬機器擴展集。 此功能也會在不再需要時移除節點。
圖 3-11 顯示這兩個縮放服務之間的關聯性。
圖 3-11。 擴增 App Service 方案。
搭配使用可確保容器執行個體和計算節點的最佳數目,以支援變動的需求。 水平 Pod 自動調整程式會將所需的 Pod 數目最佳化。 叢集自動調整程式會將所需的節點數目最佳化。
縮放 Azure Functions
Azure Functions 會視需要自動擴增。 系統會根據觸發的事件數目,動態配置和移除伺服器資源。 您只需支付函式執行時使用的計算資源費用。 帳單是根據執行次數、執行時間以及使用的記憶體。
雖然預設使用量方案可為大部分應用程式提供經濟且可調整的解決方案,但進階選項可讓開發人員彈性滿足自訂的 Azure Functions 需求。 升級至進階方案可控制執行個體大小、預熱的執行個體 (避免冷啟動延遲),以及專用 VM。