スイッチオーバーとは、稼働中のメインシステムから、あらかじめ用意された待機システムへと、計画的に運用を切り替えるプロセスです。AIモデルの更新やインフラのメンテナンス時に、サービスを停止することなく安全に新旧システムを切り替えるために用いられます。異常発生時に自動で切り替わるフェイルオーバーと異なり、手動またはスケジュールに沿って意図的に実行されます。
スイッチオーバーとは
スイッチオーバーは、システムのメンテナンスやAIモデルのアップデートなどの際に、現在稼働している本番システムから予備のシステムへ、計画的かつ意図的に稼働環境を切り替える処理のことです。
詳しく解説
AIシステムの運用において、24時間365日の連続稼働が求められるケースが増えています。新しい学習済みの機械学習モデルを本番環境へデプロイする際、システムを完全に停止させるとユーザーへのサービス提供が途切れてしまいます。そこで、あらかじめアクティブなシステム(現用系)と同じ構成を持つスタンバイシステム(予備系)を用意しておき、トラフィックのルーティングを制御することで、パケットロスやダウンタイムを最小限に抑えながら新環境へと安全に切り替えます。この計画的なプロセスがスイッチオーバーです。ハードウェアの保守、OSのパッチ適用、AIモデルの段階的な移行(ブルーグリーンデプロイメントなど)において不可欠な技術となっています。
具体例・使われ方
例えば、チャットボットサービスにおいて新しい大規模言語モデル(LLM)を導入する際、旧モデルが稼働しているサーバー(サーバーA)から、新モデルをセットアップ済みのサーバー(サーバーB)へと、ロードバランサーの設定を変更してアクセスを順次移行させます。この移行プロセスがスイッチオーバーです。ユーザー側はシステムが一時停止したことを感知せず、シームレスに新しいモデルによる応答を受け取ることができます。
似た用語との違い
混同されやすい概念にフェイルオーバーがあります。フェイルオーバーは、本番システムに予期せぬ障害が発生した際、検知システムがそれをトリガーとして自動的に予備システムへ稼働を切り替える仕組み(自動復旧)です。これに対してスイッチオーバーは、管理者が事前に計画したスケジュールに基づいて、安全かつ意図的にシステムを切り替える点に違いがあります。また、段階的にユーザーのトラフィックを移行させるカナリアリリースや、新旧環境を瞬時に切り替えるブルーグリーンデプロイメントとも密接に関連しています。
注意点
スイッチオーバーは計画的に行われますが、切り替えの瞬間に一時的なセッション情報の消失や、書き込み中のデータの不整合が発生するリスク(データロス)があります。そのため、データの同期状態を事前に確認し、書き込み処理を一時的に制限するなどの対策が必要です。また、自動化されたフェイルオーバーと異なり、管理者の手動操作やスクリプトによる制御が必要となるため、手順書の作成やシミュレーションによる訓練が欠かせません。