以前はどのような状況か
既存の学習基盤は 6 つのマイクロサービスに分割され、サービス間は HTTP と URL 設定で相互呼び出ししていました。1 回のバージョンアップで 6 リポジトリと十数個のコンテナを調整する必要があり、運用コストが高く、障害の特定も困難でした。同時にシステムには大量の過去講座と受講生データが蓄積されており、業務側は「作り直しはしないこと」を明確に求めていました。
私たちが納品したもの
Unilearning のモジュラーモノリスとして再構築しました。8 つの業務ドメインをプロセス内で集約し、ドメイン間は api 契約のみを認め、internal の壁はコンパイラが強制します。legacy-import ツールで旧データベースと旧アイデンティティデータベースを移行し、ID はすべて保持。既存ユーザーは元の bcrypt パスワードでそのままログインできます。
- モジュラーモノリスがサービス間呼び出しをプロセス内の関数呼び出しに戻し、障害特定はサービス横断トレースから単一プロセスのログへ
- uv1 / tv1 / admv1 の 3 経路のルートパスは旧フロントエンドと互換を保ち、フロントエンドのコードは 1 行も変更していません
- 移行はドメイン単位で進め、ドメインごとにバージョン管理されたマイグレーションファイルを持ち、単一ドメインでロールバック可能
- 既存ユーザーは元のパスワードでそのままログインでき、強制リセットはありません。サポートチケット数も増えませんでした
一番心配だったのは、移行当日に受講生がログインできなくなることでした。結果的に異常を報告した人は一人もおらず、用意した緊急対応手順は一度も使いませんでした。
—— 基盤技術責任者
More Stories
Get in touch
アイデンティティ・エージェント・プライベートドメインの複雑さを、統治可能なひとつのカーネルへ
既存の IAM の置き換え、エージェント基盤の構築、あるいはプライベートドメイン運用の本格化——まずは 30 分のアーキテクチャ相談から始めましょう。私たちが得意とする種類の問題かを先に判断し、適さない場合は率直にお伝えします。