1台のサーバの性能(CPU・メモリ等)を増強して処理能力を高める方式。
スケールアップとは、1台のサーバ自体の性能を強化して処理能力を高める方式のことです。サーバ(=処理を担当するコンピュータ)の台数は1台のまま、その中身を強くします。
具体的には、次のようなハードウェアの増強を行います。
・CPU増設:CPU(=計算を担当する頭脳)のコア数や性能を上げる
・メモリ増設:メモリ(=作業中のデータを置く場所)の容量を増やす
・高速ディスク:記憶装置をより高速なSSDなどに置き換える
身近な例で考えると、1人の作業者をスーパーマンに鍛え上げるイメージです。人数(台数)は増やさず、その1人の能力そのものを底上げして、より多くの仕事をこなせるようにします。
スケールアップは英語で垂直拡張(vertical scaling)とも呼ばれます。1台の性能を「上に積み上げて高くしていく」イメージから、この呼び名が付いています。
垂直拡張のうれしい点は実装が簡単なことです。サーバを強くするだけで、その上で動くアプリケーション(=業務のプログラム)を書き換える必要は基本的にありません。台数が1台のままなので、プログラムは「自分1台で動いている」前提のままで構いません。
これは、横に並べて広げる「水平拡張(スケールアウト)」と対になる考え方です。縦(性能を上へ)か、横(台数を増やす)か、と覚えると整理しやすくなります。
便利なスケールアップにも限界点があります。次のような弱点に注意が必要です。
・物理的な上限:1台に積めるCPUやメモリには上限があり、それ以上は伸ばせない
・価格の急上昇:高性能なサーバ機ほど価格が一気に高くなる
・単一障害点:1台で動くため、その1台が壊れるとサービス全体が止まる
単一障害点(たんいつしょうがいてん)とは、そこが1か所壊れただけで全体が止まってしまう箇所のことです。1台に頼るスケールアップは、この弱点を抱えやすくなります。
身近な例で考えると、1人の天才に仕事を集中させるのと同じです。能力を上げ続けてもいつか限界が来ますし、その人が体調を崩すと仕事が完全に止まります。この弱点を補うのが、台数を増やすスケールアウトです。
Q1. スケールアップの説明として最も適切なものはどれか。
Q2. スケールアップ(垂直拡張)の特徴として正しいものはどれか。
Q3. スケールアップが「垂直拡張(vertical scaling)」と呼ばれる理由はどれか。