アクセスの増加に対応し、システムの性能を上げることを スケール(拡張) といいます。方向性は、大きく2つあります。
- スケールアップ(垂直スケール) … 1台の性能を上げる。CPU や メモリ を増強し、より強い機械にする。
- スケールアウト(水平スケール) … 台数を増やして分担させる。同じ役割のサーバーを並べ、ロードバランサ で振り分ける。
flowchart LR
subgraph スケールアップ
A1["1台"] --> A2["1台を強化"]
end
subgraph スケールアウト
B1["1台"] --> B2["何台にも増やす"]
end
それぞれに、得意・不得意があります。
- スケールアップ … 手軽だが、1台の限界があり、そこが故障すると全滅(単一障害点)。
- スケールアウト … 台数を足せば理論上どこまでも伸ばせ、1台落ちても他が肩代わりできる。ただし、複数台で協調する設計の工夫が要る。
クラウド の大きな魅力は、この増減を 素早く、自動で 行えることです。アクセスが増えたら自動でサーバーを増やし、減ったら減らす(オートスケール)ことで、無駄なく 可用性 を保てます。