システムリプレイス時の「新旧での振る舞い担保」は不可欠ですが極めて高コストです。仕様把握から新システムの実装、等価性を証明する動作確認の準備まで多くの工数がかかります。私自身、JavaからGoへの移行でその難しさを痛感し「低コストで現行システムの生きた挙動を正確に再現・担保する方法」を模索してきました。
本セッションでは、可観測性のための「トレースデータ」を「テストデータ」に転用し、動作確認コストを打破するアプローチを提案します。具体的には、トレースを「現行システムの実行詳細」としてキャプチャし、正解の振る舞いを示すデータとみなしてテストに利用する試みです。
検証では手動計装したGoのAPIからトレースとしてリクエスト/レスポンスを抽出し、E2Eテストを生成・実行できることを確認しました。さらに手動計装が困難な環境や計装コストの課題を解決する手段として、eBPFベースのゼロコード計装ツール(OBI)による検証も行いました。
一連の検証で見えた課題と解決策を整理し、リプレイスに悩むエンジニアへ、トレースデータをテストへ昇華させ開発効率を高める具体的な手法と実戦的知見を提示します。
株式会社サイバーエージェント
Platform Engineer
株式会社サイバーエージェントに勤務し、AmebaLIFE事業本部にて、Platform Engineerとして日々奮闘中。
また、以前は組織全体の開発生産性向上を掲げるDeveloper Productivity室に所属し、One CD for Allを掲げるCI/CDシステムであるPipeCDの開発に従事。
クラウドネイティブ技術とGoに情熱を注いでいます。