用語集
スケールアップ・スケールアウトとは
2018年2月8日
WEBサイトへのアクセス数が増えたり、取り扱うデータが増加したりする場合、サーバーの増強が必要になるケースが出てきます。
その際、サーバーの処理能力を向上させるために「スケールアップ」「スケールアウト」という方法を取るのが一般的です。「スケールアップ」「スケールアウト」のいずれもサーバーの処理能力を強化する意味で使われますが、それぞれ適した用途があります。
ここでは、スケールアップとスケールアウトの基本を解説していきます。
スケールアップとスケールアウトは、目的によって使い分ける
スケールアップは「個々のサーバーそのものの増強」、スケールアウトは「サーバーの台数を増やすことによる能力アップ」を意味します。
ひとつのデータベースサーバーへのアクセスが頻繁に発生するようなシステム(オンライントランザクションのような)においては、CPUやメモリを増強し、サーバー自体の処理能力を強化する方法のスケールアップが適していると言われています。
一方、Webサーバーのように主にWriteではなくReadが多いシステムにおいて、数多くのアクセスを分散処理で対応するような場合、サーバーの台数を増やすスケールアウトが適しています。
巨大なデータベースへのアクセス速度を向上させるには、サーバー同士の連携が必要になるため、単にサーバー数を増やすスケールアウトでは、あまり効果が見込めません。
クラウドなら「オートスケール」が可能
スケールアップとスケールアウトは、メモリやCPUをスペックアップするか台数を増やすかという違いはありますが、いずれもハードウェアの増強に高いコストが必須です。
しかし、クラウドサービスであれば、ハードウェアを購入することなく比較的、安価なコストでワンクリックでサーバーの増強が可能です。
ニフクラをはじめ多くのクラウドサービスでは、サーバーの負荷に対し、あらかじめ設定した閾値に応じて自動的にスケールアウトを行う「オートスケール」サービスを提供しています。
オートスケールを活用することでコスト削減も
オートスケールを利用すれば、予期しないWEBサイトへのアクセス増加にも、柔軟に対応できます。アクセス数の急増によるサーバーダウンや応答の遅延といった、機会損失のリスクを抑えることも可能です。
また、アクセス数が増加したときだけスケールアウトし、アクセス数が通常に戻れば増やしたサーバーは削除されるので、過剰投資になることもありません。