コンテンツ ドリブンのウェブアプリ バックエンドをスケーリングする

スケーリングとは、パフォーマンスや可用性を向上させるためにバックエンドで使用可能なリソースの容量を増やす(または減らす)ことです。スケーリングはバックエンドのアーキテクチャ、設計、実装に固有ですが、いくつかの重要な側面を考慮する必要があります。

ここでのパフォーマンスとは、ウェブ アプリケーションがリクエストに応答できる速度のことです。レイテンシ、速度、スループット、リソース使用率が含まれます。

垂直方向のスケーリング

垂直方向のスケーリングとは、サーバー上のリソースを増やすことを指します。これは、中央のアプリケーション サーバーを、サーバーベースのアーキテクチャ用のより強力なマシンに置き換えることを意味します。サーバーレス、マイクロサービス、クラウドベースのアーキテクチャの場合、これは、使用可能なメモリの増加や、より上位の仮想マシンの選択など、割り当てられたリソースをアップグレードすることを意味します。

水平方向のスケーリング

水平スケーリングとは、より多くのサーバーと並列リソースを追加することを指します。このタイプのスケーリングを処理できるように、基盤となるアーキテクチャとアプリケーションを最適化する必要があります。たとえば、サーバーベースのアーキテクチャでリクエストを分散するには、追加のロード バランシングが必要になることがあります。Cloud Functions などのクラウド環境のサーバーレス アーキテクチャの場合、この種のスケーリングは、追加の構成なしで透過的に処理できます。

リージョンでのスケーリングと分散

リージョン スケーリングとは、複数の地理的リージョンにサービスを分散することを意味します。サービスを分散するか、サービスをユーザーの近くに移動すると、レイテンシが短縮され、アプリケーションの全体的なパフォーマンスが向上します。

特に、クラウドベースのサーバーレス アーキテクチャなど、これを透過的に処理するクラウド プロバイダを使用しない場合は、アーキテクチャの一部としてリージョンの分布と多様性を考慮してください。アプリケーションのデータ ストレージが、特にデータの整合性に関して、リージョンの分布によってどのように影響を受けるかを考慮してください。

グローバル スケールでデータを処理および保存する場合は、システム、特にデータ処理とデータ ストレージに適用される規制要件や法律に注意してください。