スケーラビリティと弾力性
SaaSにおける自動スケーリングとは?
自動スケーリングとは?
自動スケーリングは、SaaSアプリケーションのリソースを現在の使用状況に基づいて増減させる機能です。ユーザーが増えると、自動スケーリングは利用可能なリソースを増やし、逆に静かな期間には減らします。 Kubernetes’ Horizontal Pod Autoscaler, for example, checks usage every 15 seconds by default.
SaaSの自動スケーリングはどのように機能しますか?
SaaS companies need auto-scaling because they often don’t know when traffic is going up or down. While it’s sometimes predictable (e.g., a product launch), sudden global events and unexpected spikes are where auto-scaling should be deployed.
SaaSビジネスとその顧客にとっての自動スケーリングの主な利点は何ですか?
Reasons に use auto-scaling in your SaaS business include:
- パフォーマンス: 自動スケーリングを使用して、混雑時にサイトまたはアプリが最適に機能するようにします。それがないと、サービスの中断が発生する可能性があります。
- 可用性: Auto-scaling supports the reachability of sites, products, and services as demand fluctuates, while a load balancer manages traffic distribution among auto-scaled servers.
- コスト最適化: 自動スケーリングを使用して、リアルタイムの使用状況に基づいてスケールアップおよびスケールダウンします。別の方法を使用すると、不要な費用が発生する可能性があります。
自動スケーリングイベントをトリガーするために一般的に使用されるメトリクスは何ですか?
Auto-scaling is triggered by cloud performance metrics, checked at intervals (every 15 seconds by default in Kubernetes), such as:
- CPU使用率: 任意の時点で使用されているCPUの量。
- メモリ使用量: アプリまたはWebサイトがリアルタイムで使用しているメモリの量。
- ネットワークトラフィック: Data received and sent over the network.
- リクエストの待ち時間: Response times to user requests; this partly depends on how many users are on the same server.
- キューの長さ: 保留中のキューリクエスト。これより高い場合、自動スケールアップがトリガーされます。
自動スケーリングポリシーにはどのような種類があり、それぞれをいつ使用しますか?
さまざまな自動スケーリングポリシーがさまざまなシナリオで機能します。以下に一般的なものとその使用時期のリストを示します。
- ターゲット追跡: Moves resources based on a metric like average queue length; AWS strongly recommends it for EC2 Auto Scaling (AWS).
- ステップスケーリング: Scales within thresholds you set, in steps sized to the breach; use when target tracking is not enough.
- スケジュールされたスケーリング: スケジュールされた時間にスケールします。日次または週次のトラフィックパターンがわかっている場合に使用します。
| ポリシーの種類 | 主な特徴 | 最適なユースケース |
|
スケーリングアプローチ |
||
| ターゲットトラッキング | 平均キューの長さなどの特定のメトリクスに基づいてリソースを調整します | Most cases, per AWS’s EC2 Auto Scaling guide |
| ステップスケーリング | ユーザーが設定した事前定義済みのしきい値内でリソースをスケーリングします | When target tracking is not enough |
| スケジュールスケーリング | 事前に決定された時間にリソースをスケーリングします | 毎日または毎週のトラフィックパターンが一貫している場合 |
|
スケーラビリティに関する考慮事項 |
||
| 柔軟性 | ターゲットトラッキング:最も適応性が高い | スケジュールスケーリング:柔軟性が最も低い |
需要に基づいて自動スケーリングを利用して変動する需要を満たしているSaaSビジネスの実際の例をいくつか教えてください。
需要に基づいて自動スケーリングを使用する SaaS 企業の例:
- Shopify: Runs microservices on Google Kubernetes Engine, which Google says scales during traffic spikes such as Black Friday (Google Cloud).
- Slack: Autoscales its web app tier quickly when workers become saturated (Slack Engineering, 2020).
- Netflix: Auto-scaling parameters are set to manage traffic when more viewers are online (e.g., evenings、~として Netflix patent on predictive scaling filed in 2013 describes).
結論
SaaS企業は、アクティビティの多い時間帯と少ない時間帯のリソースを管理するために自動スケーリングを使用する必要があります。Amazon Web Services、Pepperdata、Google Cloudは、自動スケーリングを備えた3つのツールです。ターゲット追跡、ステップスケーリング、またはスケジュールスケーリングが必要かどうかを検討してください。