スケーラビリティ

ユーザー数が増えても動き続ける仕組みを作ろう

概要

スケーラビリティとは、ユーザー数の増加に伴う負荷の増加に対し、システムが適切に対応できる能力のことです。スケーラビリティの高いシステムを作るには、負荷に応じて処理能力を上げられる構成である必要があります。

処理能力を高める代表的な手法としてスケールアップスケールアウトがあります。

スケールアップとは、サーバーのCPUやメモリなどのリソースを増強することでサーバー単体の処理能力を向上させる手法です。スケールアウトとは、サーバーの台数を増やして処理を分散させ、システム全体の処理能力を向上させる手法です。

スケールアウトの場合、複数のサーバーにリクエストを分散させるためにロードバランサーの導入などが推奨されます。また、データベースサーバーを複数構成にした場合、データを同期する仕組みも必要となります。

スケールアウトとスケールアップは目的に応じて使い分けます。例えば、負荷の高い時間帯だけ処理能力を向上させたい場合はスケールアウトを行います。一方、スケールアップは分散できない処理において、サーバーの処理能力が不足する場合に実施します。

クラウドサービス上のシステムでは、アクセス数の増減に応じてサーバー数やリソース量を自動で調整することも可能です。

スケーラビリティ

学ぶ目的

スケーラビリティの高いシステムを構築できるようになれば、ユーザー数が急激に増えてもサーバーが落ちることはなく、サービスを提供し続けることができます。

将来的なサービスの成長を見越して、スケーリングの仕組みを取り入れたシステムの構築を目指しましょう。

ここから学ぼう

スケーラビリティに関するスキルは実際に運用や保守を経験しながら学ぶのが理想です。ここでは、スケーラビリティに関するスキルにはどんなものがあるのかイメージできることを目指しましょう。

  • 拡張性の基本について理解しよう

    サイジングの重要性について知ろう

    クラウドサービスでのスケールアップとスケールダウンについて知ろう

    オートスケールについて知ろう

    ジョブ対応のスケールアウトとスケールインについて知ろう

    スケジュール対応のスケールアウトとスケールインについて知ろう

おすすめ教材

  1. AWS Auto Scaling(需要に合わせて複数のリソースをスケール)| AWS

今日学ぶことをシェアしよう