×
システム構成・性能・ソフトウェア

一方で、スケールアウトにも特有の課題が存在します。複数台のサーバー間で処理を分担するためには、リクエストを適切に振り分ける負荷分散の仕組みが必須となります。さらに、データベースなどのように「データの一貫性(整合性)」を厳密に保つ必要があるシステムでは、複数のサーバー間で常にデータを同期させる仕組みが必要となり、ソフトウェアの設計や運用が非常に複雑になります。そのため、ユーザーのセッション情報などをサーバー側に保持しない「ステートレス」な設計を採用することが、スケールアウトを成功させるための重要な鍵となります。近年ではクラウドサービスの普及により、アクセス状況の変動に応じて自動的にサーバーの台数を増減させる「オートスケール」機能が標準的に利用されるようになり、このアーキテクチャの重要性は飛躍的に高まっています。

試験でのポイント

情報処理の試験において、スケールアウトとスケールアップ(垂直方向の拡張)の使い分けは非常に頻出のテーマです。以下の対比を正確に理解しておくことが得点源となります。

  • 用途の使い分け:Webサーバー、プロキシサーバー、アプリケーションサーバーなど、個々の処理が独立しており並行して実行しやすいシステムには「スケールアウト」が適しています。対照的に、リレーショナルデータベース(RDBMS)のように高度なトランザクション処理とデータの一貫性が要求される中核システムには、単体の機器性能を底上げする「スケールアップ」が適していると出題されることが定番です。
  • コスト曲線と限界点:スケールアップは、マザーボードや筐体の物理的な制限によって拡張の上限が決まっており、一定以上の性能を求めると専用の超高性能機器が必要になるため、費用対効果が急激に悪化します。一方でスケールアウトは、標準的な性能のサーバーを台数分だけ追加すればよいため、性能向上に対してコストが線形(比例的)に増加し、理論上の上限も極めて高いという対比構造を理解しておきましょう。

関連する用語

スケールアップ、ロードバランサ、ステートレス