雲端擴充性是指雲端運算系統可根據需求變化,增加或減少資源,像是運算能力、儲存空間和網路頻寬。擴充性是雲端的一大優勢,可讓企業輕鬆因應工作負載量的變化,不必翻新整個基礎架構。這表示您可以根據業務成長或應用程式流量變化,輕鬆調整資源,而且用多少就付多少。
雖「擴充性」和「彈性」兩詞經常交互使用,但其實是不同的概念。兩者都與系統處理需求變化的能力有關,但實際做法則不同。
擴充性是指系統能否隨時間推移,藉由新增資源來處理日益增加的工作量。這通常是為了滿足日益增加的需求,而採取的長期計畫性做法,例如某公司預期大型行銷活動會吸引更多使用者,因此預先擴充資料庫資源。總而言之,擴充性就是系統能否因應未來成長需求而增加資源。
彈性是指系統能自動快速調整資源,即時因應需求變化,就像橡皮筋能拉長和縮短。舉例來說,電子商務網站可能會設計在黑色星期五等節日自動新增更多伺服器,以處理迅速湧入的流量,並在流量減少時縮減伺服器數量。彈性是指根據當前需求動態調整資源,以提高成本效益和效能。
雲端服務主要透過「垂直資源調度」和「水平資源調度」兩種做法實現擴充性。應採取何種做法,則取決於應用程式架構和工作負載的性質。
垂直資源調度 (又稱「擴充資源」或「縮減資源」) 是指在單一伺服器或機器中增減資源。這項作業好比為單一電腦升級更快的處理器或加裝更多 RAM,藉此強化機器的運作效能。
如何進行垂直資源調度
垂直資源調度的其中一種做法是增加現有虛擬機器 (VM) 的容量。舉例來說,如果您在固定 CPU 核心數量和記憶體容量的 VM 上執行應用程式,只要選擇資源較多的大型 VM,就能成功擴充資源。同樣地,您也可以改用較小的 VM 來縮減資源。
水平資源調度也稱為「水平擴展」或「水平縮減」,是指增加系統中的機器或節點數量,提升工作負載的分配效率。這項作業好比在網路中新增更多電腦來分攤工作,運用多部機器來增加處理能力,而不是讓單一部機器變得更強大。
如何進行水平資源調度
水平資源調度是指在多個 VM 上執行應用程式,然後由負載平衡器將傳入流量分配給這些機器。隨著需求增加,您可以自動或手動將更多 VM 新增至群組;需求減少時,則可移除這些 VM。
如何選擇垂直和水平資源調度,取決於應用程式架構和業務需求。
功能 | 垂直資源調度 | 水平資源調度 |
複雜度 | 較為簡單,因為只涉及單一機器。 | 較為複雜,因為需要管理多個節點和負載平衡器。 |
停機時間 | 升級期間可能會導致服務短暫中斷。 | 通常不會有停機時間,因為新增機器時不會中斷現有機器。 |
擴充性限制 | 受限於單一機器的實體容量。 | 幾乎沒有限制,因為您可以視需要新增任意數量的機器。 |
容錯功能 | 有單點故障之虞:如果機器故障,應用程式將無法使用。 | 容錯能力高:即使其中一部機器故障,其他機器仍可繼續運作。 |
功能
垂直資源調度
水平資源調度
複雜度
較為簡單,因為只涉及單一機器。
較為複雜,因為需要管理多個節點和負載平衡器。
停機時間
升級期間可能會導致服務短暫中斷。
通常不會有停機時間,因為新增機器時不會中斷現有機器。
擴充性限制
受限於單一機器的實體容量。
幾乎沒有限制,因為您可以視需要新增任意數量的機器。
容錯功能
有單點故障之虞:如果機器故障,應用程式將無法使用。
容錯能力高:即使其中一部機器故障,其他機器仍可繼續運作。
垂直資源調度是提升初始效能最有效的方法。隨著應用程式規模增加,並需要更高的可用性,這時就建議改成水平資源調度。混合式做法 (有時稱「對角資源調度」) 則結合了這兩種策略。
雖然許多供應商的服務都具備標準擴充能力,但 Google Cloud 提供一系列與眾不同的彈性工具,可滿足現代應用程式不斷變化的需求。這些服務具備機器學習預測能力和獨特的混合式功能,可協助您實現最佳成效並降低成本。
傳統自動調度資源屬於被動式機制,只會在需求激增後才新增資源,因此有時會造成短暫的效能延遲。Compute Engine 預測式自動調度資源可解決這個問題。這項功能會根據歷來資料,運用機器學習技術預測未來的作業負載,因此能在預測流量到來前就水平擴展基礎架構,確保應用程式在需求出現時,即刻準備好服務使用者。
大多數雲端供應商會要求您從制式的虛擬機器「T 恤尺寸」中選擇,這通常會導致您為不需要的資源付費。Google Cloud 提供自訂機型,您可以根據工作負載需求,精確挑選 vCPU 數量和記憶體容量。這種精細控管機制,能幫助您有效率地垂直擴充基礎架構,按工作需求選用資源,而不是反過來。
對於採用地端部署基礎架構的組織來說,處理突如其來的流量高峰可能是一大難題。當私有資料中心的負載達到上限時,雲端爆發功能可將多餘流量順暢轉移至公有雲。Google Cloud 的混合雲和多雲端解決方案 (例如 GKE Enterprise) 具備優秀的一致性和靈活性,可跨環境管理工作負載,確保您能無限擴充資源,不須捨棄現有投資。
擴充不只是新增伺服器,而是有效將流量導向這些伺服器。Google Cloud Load Balancing 使用單一全域任意傳播 IP 位址,可將流量分配至全球各地的資源。這樣一來,您就能在全球調度應用程式資源,不必進行複雜的 DNS 設定或處理區域分散問題,確保使用者流量一律導向至最近、具備可用容量的健康執行個體。
雲端擴充性創造多項傳統地端部署基礎架構難以實現的重要優勢。
具成本效益
避免過度佈建資源,以及花費高昂成本維護閒置硬體。您可以善用雲端的擴充性,只為實際使用的資源付費,將固定成本轉為變動成本。
更優異的效能和可用性
透過動態調整資源,應用程式即使在需求高峰期也能輕鬆維持高效能,減少速度變慢和服務中斷的狀況,進而提升使用者體驗。
處理難以預測的需求
擴充性有助於您因應意外的流量驟升 (例如社群媒體貼文爆紅) 情形,而不需手動新增硬體。
營運靈活性
可快速擴充資源,更快創新及因應市場變化。不必等待基礎架構設定完成,就能部署新功能或應用程式。
Google Cloud 提供多種服務,可協助您建構擴充性極佳的應用程式。其中許多服務都內建自動調度資源功能,因此您不必管理基礎架構。


