目次
スケーラビリティ(Scalability)とは(AZ-900対策)
スケーラビリティとは、システムの処理量が増えたときに、必要に応じて性能を拡張できる能力のことです。
アクセス数やデータ量が増加しても、サービスを安定して提供するための重要な性質です。
クラウド(Azure)ではスケーラビリティが標準で備わっており、負荷の変動に強い仕組みを簡単に構築できます。
スケーラビリティが必要とされる理由
システム運用において次のような課題が発生します。
- アクセスが増えるとレスポンスが遅くなる
- 特定の時間帯だけ負荷が増える
- 機能追加やユーザー増により処理量が増加する
これらに対応するために、リソースを柔軟に拡張できるスケーラビリティが重要です。
スケーラビリティの種類
スケーラビリティには、主に次の 2 種類があります。
垂直スケール(スケールアップ / Scale Up)
サーバーの性能を「縦方向」に強化する方法です。
例
- CPU コア数を増やす
- メモリ容量を増やす
- ディスク性能を向上させる
特徴
- 1台で高性能化できる
- 実装が比較的簡単
- ただし限界がある
水平スケール(スケールアウト / Scale Out)
サーバーの台数を「横方向に」増やす方法です。
例
- Web サーバーを複数台に増やす
- データベースの読み取り専用ノードを増設する
特徴
- 台数を追加するため拡張性が高い
- 高可用性とも相性が良い
- ロードバランサーと組み合わせて利用されることが多い
スケーラビリティと弾力性(Elasticity)の違い
スケーラビリティと弾力性は似ていますが、目的が異なります。
| 概念 | 意味 |
|---|---|
| スケーラビリティ | 拡張できる能力そのもの |
| 弾力性(Elasticity) | 必要に応じて自動でスケールする仕組み |
スケーラビリティは「拡張できる性質」、
弾力性は「自動で拡張・縮小する仕組み」
という関係になります。
スケーラビリティを実現する仕組みの例
Azure やクラウドでは、次のような仕組みによりスケールが容易になります。
● 仮想マシンのサイズ変更
CPU / メモリを簡単に増やす → 垂直スケール
● 仮想マシンスケールセット(VMSS)
トラフィックに応じて VM 台数を自動で増減 → 水平スケール
● App Service のスケールアウト
複数インスタンスを動かして負荷分散 → 水平スケール
● データベースのスケール
- Azure SQL Database の DTU / vCore 増加(垂直)
- 読み取りレプリカ(水平)
スケーラビリティのメリット
- アクセス増加に応じて柔軟に対応できる
- 利用者が増えてもサービス品質を維持できる
- 費用を必要な範囲に抑えられる
- 高可用性(HA)と組み合わせることでシステムが強固になる
AZ-900で理解すべきポイント
- スケーラビリティ=システム拡張能力
- 垂直スケール(Scale Up)と水平スケール(Scale Out)の違い
- クラウドではスケールが簡単かつ柔軟に行える
- 自動スケールは「弾力性」と関連する概念
- 高可用性とも密接に関係する(特に水平スケール)