オートスケール

オンデマンドで反応するクラウドネイティブアプリケーション
Contributed by

Toni Syvänen

Johan Bonneau

Published August 31, 2018
Collection
0

概要

オートスケーリングは、アプリケーションの測定された負荷に基づいて、コンピューティングリソースの量を変更する方法です。この負荷とは、スケーリングのトリガーとして使用できるCPU、メモリ、ネットワーク、もしくはその他の測定可能なメトリクスのことです。またメトリクスとして、メッセージキューのアイテム数や、ビジネスプロセスで待機しているタスクの数なども使用可能です。アクティブなバックエンドやバッチジョブタイプの一時的なワークロードと合わせて使うこともできます。

オートスケールは、障害が発生したアプリケーション・インスタンスの自動リカバリとしても使用できます。なぜなら、ヘルスチェックと組み合わせると、オートスケールは運用されていないアプリケーションのインスタンスを強制終了または再起動し、自動的に新しいインスタンスに置き換えることができるからです。

ロードバランサーは、アプリケーションインスタンスをロードバランシング対象から動的に追加・削除する機能が必要になるため、オートスケーリングとも密接な関係があります。

メリット

これにより、アプリケーションは必要なときだけリソースを消費することができます。これは、特に運用コストが使用量に比例するクラウド環境では重要です。また、オートスケーリング・アプリケーションは、デフォルトでステートレス動作が可能であるか、すべてのインスタンスを自動的に同期させる何らかの方法を備えていなければならないため、ローリングアップグレードや簡単なロールバックといった他の手法も実現できます。

オートスケールは、キュー内のタスクに基づいてバッチジョブを処理するための作業ノードを起動するために使用できます。これにより、静的なアプリケーションに比べて、オンデマンドでタスクやメッセージを処理することができます。

また、ヘルスチェックや実際の負荷への対応により、アプリケーションの稼働率や可用性を向上させることができます。つまり、予期しない量のトラフィックが流入したとき、あるいは特定のパターンの組み合わせ、条件下でアプリケーションがクラッシュしたとき、オートスケールは反応し、より多くの動作可能なアプリケーションのインスタンスを起動することができるのです。

実施方法

オートスケーリングは、クラウドコンピューティングの動的スケーリング機能の実装であり、手動または自動で適用することができます。クラウドサービスプロバイダーは、クラウド機能に対する予測不可能な需要に対応するために、この機能を提供するケースが増えています。

参考

オートスケール をチームや顧客、ステークホルダーと実施するにあたりより詳細にお知りになりたい場合は、以下のリンクを参照してください。


Except where noted, content on this site is licensed under a Creative Commons Attribution 4.0 International license. This site is graciously hosted by Netlify