メインコンテンツまでスキップ

スケーリングにおける Canary Upgrade アプローチ

Zilliz Cloud は、スケーリング操作に Canary Upgrade アプローチを採用しています。プラットフォームはまず限定的な範囲でターゲット構成を検証し、ヘルスチェック通過後に段階的にロールアウトします。

Query CU の増減やレプリカ数を変更すると、新しい構成の準備と検証が行われる間、Zilliz Cloud はクラスターを Modifying 状態にします。これにより、問題を早期に検出し、各ロールアウトステップの影響範囲を制限することで、サービスへの影響を最小限に抑えます。

Canary Upgrade が重要な理由

Canary Upgrade は、変更を広範囲に適用する前に、プラットフォームがターゲットリソースの健全性を検証する必要があるスケーリング変更向けに設計されています。

  • Query CU の増減

  • レプリカ数の増減

  • 手動、スケジュール、または動的スケーリングによるサービングリソースの調整

メリット説明
初期影響範囲の限定新しい構成はまず限定的な範囲に導入されるため、変更範囲を拡大する前に潜在的な問題を検出できます。
ヘルスチェックに基づくロールアウトZilliz Cloud は、次のロールアウトステップに進む前に、準備完了状態とサービングの健全性を確認します。
段階的なトラフィック移行Canary ステージが健全であることを確認してからトラフィックを徐々に移行するため、キャパシティ不足やレイテンシの急激な悪化を防ぐことができます。
ロールバック機能Canary が検証に合格しない場合、Zilliz Cloud はロールアウトを停止し、以前の利用可能な構成の使用を継続できます。

仕組み

ITCnb4yRSoNlvgxb5cGcLjNInig

Canary Upgrade を使用するスケーリング操作は、通常以下の順序で進行します。

ステージ処理内容
既存構成での稼働スケーリングジョブの開始中も、以前の利用可能な構成でサービス提供が継続されます。
ターゲット構成の準備Zilliz Cloud がターゲットの Query CU またはレプリカ構成を準備します。
限定的 Canary 検証プラットフォームはまず限定的な範囲で新しいリソースを検証します。
ヘルスゲートチェックが失敗した場合、ロールアウトは停止され、クラスターは以前の利用可能な構成での稼働を継続します。
段階的ロールアウトチェックに合格した場合、Zilliz Cloud は制御されたステップでロールアウトを拡大し、スケーリングジョブを完了させます。
  1. 既存構成の維持 スケーリングジョブの開始中も、クラスターは以前の利用可能な構成でサービス提供を継続します。この期間中、クラスターは Modifying 状態になる場合があります。

  2. ターゲット構成の準備 Zilliz Cloud は、ターゲットの Query CU またはレプリカ構成に必要なリソースをプロビジョニングし、準備を行います。

  3. 限定的 Canary の実行 プラットフォームはまず限定的な範囲で新しいリソースを検証します。Canary ステージでは、新しいリソースが必要なデータをロードし、サービング状態を復元して、準備完了およびヘルスチェックに合格できるかを確認します。

  4. Canary の健全性監視 Zilliz Cloud は、Canary の準備完了状態、サービングの健全性、および移行動作を監視します。Canary が期待される健全性基準を満たさない場合、ロールアウトは進行しません。

  5. 変更の段階的ロールアウト Canary が健全であると判断された後、Zilliz Cloud はロールアウトを拡大し、制御されたステップでサービングトラフィックをターゲット構成へ移行します。

  6. スケーリングジョブの完了 ターゲット構成が完全に有効化され、健全性が確認されるとスケーリングジョブは完了します。不要になったリソースは、サービングパスから外れた後にクリーンアップされます。

Canary Upgrade とクラウドネイティブストレージ

クラウドネイティブストレージは永続データがコンピュートリソースから分離されているため、Canary ベースのスケーリングをより安全に行うことができます。

多くの従来のステートフルシステムでは、ノード追加時に既存ノードがローカルデータを新規ノードへ再配置する必要があります。その間、既存ノードはオンライントラフィックへの応答とデータ転送を同時に行う必要があり、CPU、メモリ、ディスク I/O,、ネットワークへの負荷が増大する可能性があります。

Zilliz Cloud では、永続データはオブジェクトストレージに保存されます。新しいリソースはサービングトラフィックへの参加前に、必要なデータを独立してロードできます。これにより、Canary ステージは既存のサービングノードからのローカルデータ転送に依存することなく、新しいリソースを検証できます。

スケーリング中に発生しうる事象

Canary Upgrade を用いたスケーリング操作中は、以下の現象が発生する可能性があります。

  • クラスターのステータスが Modifying に変化することがあります。

  • Canary の準備および検証中は、既存のサービスは通常、以前の利用可能な構成で稼働を継続します。

  • 一部の管理操作が一時的に利用できなくなる場合があります。

  • ロールアウトステージ間のトラフィック移行時に、軽微なサービスのジッターが発生する場合があります。

  • 新しい構成は、スケーリングジョブが正常に完了した後にのみ有効になります。

  • Canary またはその後のロールアウトステージが正常に完了できなかった場合、クラスターは以前の利用可能な構成での稼働を継続します。

  • スケーリングジョブ中、Zilliz Cloud は以前の構成に基づいてクラスターへの課金を継続します。新しい Query CU またはレプリカ構成が課金に使用されるのは、スケーリングジョブが正常に完了した後のみです。

📘Note

Canary Upgrade はスケーリング中のサービスへの影響を軽減しますが、すべての操作が完全にジッターフリーであることを保証するものではありません。レイテンシに敏感な本番ワークロードについては、可能な限りトラフィックの少ない時間帯に大規模なスケーリング変更を実行してください。

Ctrl I