雲端彈性是雲端運算的一大優勢,可讓公司的雲端基礎架構根據需求,自動擴充或縮減資源。雲端彈性的核心意義,在於無需人為介入,即可因應無法預測的工作負載變化。
舉例來說,電子商務網站在黑色星期五等節慶期間,流量可能會大幅增加。有了彈性運算,網站就能自動取得更多伺服器來處理流量高點,確保顧客享有順暢的購物體驗。節慶結束後,系統會將資源降回正常水準。
系統可透過兩種主要方式運用彈性:水平和垂直。
這也稱為「水平擴展」或「水平縮減」。也就是在系統中新增或移除更多機器或執行個體。需要更多容量時,就新增更多伺服器。需要較少容量時,就移除多餘的伺服器。這通常用於可分割並同時在多部伺服器上執行的應用程式。
這也稱為「擴充資源」或「縮減資源」。也就是增加或減少單一機器的資源。舉例來說,如果特定伺服器需要更多運算能力,您可以增加 CPU、記憶體或儲存空間。完成後,即可減少這些資源。
彈性和擴充性這兩個詞彙經常一起使用,但描述的內容不同。
擴充性就像準備參加大型馬拉松,需要花好幾個月訓練。彈性就像跑者,能隨時加快或減慢速度,與其他選手保持一致。
彈性運算可為企業和開發人員帶來多項潛在優勢。
具成本效益
彈性運算可協助您節省費用,因為您只需為實際使用的資源付費。需求低時,您不必讓額外伺服器持續運作,減少不必要的支出。此外,您也不必為了應付一年中僅出現幾次的流量高點,而購買昂貴的硬體。
高可用性和可靠性
彈性運算可自動調整資源,確保應用程式在流量意外激增時仍能正常運作,並維持靈敏的回應速度。這可以避免速度變慢或當機,以免使用者感到不滿,或損害貴公司的聲譽。
提高效能
系統會在必要時自動新增資源,有助於維持快速的回應時間和流暢的使用者體驗。對於難以預測工作負載的應用程式 (例如線上遊戲、影視串流服務或電子商務),這點尤其重要。
簡化管理作業
由於資源調度程序是自動進行,開發人員和 IT 團隊不必手動監控及調整資源。這樣一來,就能省下時間和心力,專注於其他重要工作,例如開發新功能或提升使用者體驗。
對企業環境的開發人員來說,彈性運算不僅是一項功能,更是重要的策略,有助於建構具備韌性、符合成本效益且效能良好的應用程式。也就是設計出能智慧適應無法預測的工作負載的系統,避免過度佈建或佈建不足。這對必須全天候運作的重要業務應用程式尤其重要,例如電子商務平台、金融服務或資料處理管道。
雲端彈性是 Compute Engine 代管執行個體群組 (MIG) 的核心運作原則。您可以設計一套系統,自動因應需求變化,不必手動佈建 VM 來處理流量。MIG 是由多個相同的 VM 組成,可視為單一實體來管理,也是在 Compute Engine 上建構彈性系統的主要工具。MIG 會使用自動配置器,根據預先定義的指標,自動在群組中新增或移除 VM,進而實現彈性。
以下說明企業開發人員如何實際應用這些概念,打造可擴充的系統:
建立 VM 藍圖:執行個體範本 | 建立彈性系統前,您需要先建立執行個體範本。這個範本會做為應用程式 VM 設定的單一可靠來源,包括機型、開機磁碟和任何必要的開機指令碼。確保每個新 VM 都是上一個 VM 的精確副本,有助於維持一致性並簡化推出作業。 |
設定代管執行個體群組 | 前往 Google Cloud 控制台的「執行個體群組」頁面,建立新的代管執行個體群組。選取您建立的執行個體範本,設定執行個體數量下限和上限,並選擇群組的可用區,確保備援能力和高可用性。 |
實作自動調度資源規則 | 這就是雲端彈性的核心。企業開發人員可以根據 Cloud Monitoring 指標 (例如後端 worker 服務的佇列長度) 實作進階自動調度資源規則,而不只是根據 CPU 使用率調度資源。此外,他們也能使用預測式自動調度資源功能,在預期流量高點前,根據歷來資料啟動新的 VM。 |
新增負載平衡器 | 對於任何公開應用程式,負載平衡器都是不可或缺的工具,可將收到的使用者流量分配至代管執行個體群組中的所有 VM,確保單一 VM 不會超載,並維持應用程式的高可用性。 |
建立 VM 藍圖:執行個體範本
建立彈性系統前,您需要先建立執行個體範本。這個範本會做為應用程式 VM 設定的單一可靠來源,包括機型、開機磁碟和任何必要的開機指令碼。確保每個新 VM 都是上一個 VM 的精確副本,有助於維持一致性並簡化推出作業。
設定代管執行個體群組
前往 Google Cloud 控制台的「執行個體群組」頁面,建立新的代管執行個體群組。選取您建立的執行個體範本,設定執行個體數量下限和上限,並選擇群組的可用區,確保備援能力和高可用性。
實作自動調度資源規則
這就是雲端彈性的核心。企業開發人員可以根據 Cloud Monitoring 指標 (例如後端 worker 服務的佇列長度) 實作進階自動調度資源規則,而不只是根據 CPU 使用率調度資源。此外,他們也能使用預測式自動調度資源功能,在預期流量高點前,根據歷來資料啟動新的 VM。
新增負載平衡器
對於任何公開應用程式,負載平衡器都是不可或缺的工具,可將收到的使用者流量分配至代管執行個體群組中的所有 VM,確保單一 VM 不會超載,並維持應用程式的高可用性。