サーバーのスケールアウトとスケールアップの違いとは

web制作

サーバーの勉強では、必ず"スケール"という言葉が出てきます。

「スケールさせる=システムの処理性能を上げること」の意味合いですが、その中で、スケールには、スケールアップとスケールアウトという2つの手法があります。

詳しくは以下の通り。

スケールアウトとスケールアップの違いについて

スケールアップとは

処理ノード数(サーバーの数)は変えず、CPUやメモリーなどのスペックを上げることで、システムの処理性能を向上することです。

(逆にスペックを下げて処理性能を下げることをスケールダウンとも呼びます。)

スケールアウトとは

処理ノード数(サーバーの数)を増やし、分散処理することで、システムの処理能力を向上することです。

(逆に台数を減らして処理性能を下げることをスケールインとも呼びます。)

スケールアップのポイント

一つのノード(サーバー)のCPUやメモリのスペックを上げるということなので、その一つのノード(サーバー)のスペック上限を満たすと、そこがシステムの処理性能の限界ともなってしまうことです。(それ以上の性能アップが無理。)

また、一つのノード(サーバー)のCPUやメモリのスペックを上げる=その変更作業中は、システムが一時的にダウンしてしまう点があります。

スケールアウトのポイント

ノード数を増やす=性能アップなので、システム処理性能に対して、上限が生まれにくいです。また、スケールアウトの場合は、システムを停止することなく、動的に実行できるメリットもあります。(昨今のクラウドサービスだと、マネージドサービス側の設定一つで自動実行してもらえる点も便利です。)

ただし、スケールアウトのデメリットとしては、そのシステム(アプリケーション)がスケールアウトに対応した仕様・設計になっていないと、処理結果やデータに不整合が起きてしまう心配もあります。

まとめ

覚え方としては、

スケールアップ=性能アップ

スケールアウト=アウト(外)に台数を増やす

といった感じで覚えておくと良いかと思います。

クラウドサーバーを提供している会社の多くが、専門用語の解説ページなどを作っているため、そちらを参考にしたほうが確実です。(読みやすいし、分かりやすいです。)

最後に一言

人間のスペックもスケールアウトしたいです。

この記事が参考になったら「いいね!」

サーバーのスケールアウトとスケールアップの違いとは


SNSのシェアはこちらから!

  • 1
    このエントリーをはてなブックマークに追加
  • Pocket

PROFILE

yoshi

運営者のYoshiと申します。WEB制作は、HTML/css/javascript/PHP/git/wordpress/MT/DB/photoshop/illustrator/fireworksなど扱えます。サーバー・アプリなども習得中。