Scalability
スケーラビリティとは、システムが増大する負荷へ対応できる能力を指し、垂直スケーリング(リソース拡張)と水平スケーリング(インスタンス増設)の二方式がある。
目的
負荷の増加に対応できるアーキテクチャを設計することを目標とする。
メカニズム
垂直方向は単一ノードの CPU・メモリを増強する(上限あり)。水平方向はノードを追加して負荷を分散する(ステートレス化やシャーディングが必要)。需要に応じた自動スケールが弾力性である。ボトルネックになりやすいのはデータベース・ネットワーク・調整オーバーヘッドで、高速化の上限はアムダールの法則が定める。
ユースケース
- システム設計
- パフォーマンス計画
- 弾力的なスケーリング