スキーマベース自動生成の概念を拡張し、トイル徹底削減・情報集約・高保守性を実現する by Iwamin

SRE Kaigi 2025
セッション(30分)

スキーマベース自動生成の概念を拡張し、トイル徹底削減・情報集約・高保守性を実現する

B_Sardine Iwamin B_Sardine

■ 発表カテゴリ
募集要項( https://www.notion.so/srekaigi/SRE-Kaigi-2025-CfP-0939fcd968a74bddaebdbf638a957ab9 ) にある6つの発表カテゴリからお選びください

・Tech: SREを支える具体的な技術や手法

■ 発表概要(400字程度)

OpenAPI や Protocol Buffer を活用し、API スキーマを管理する重要性はすでに広く浸透している。さらには OpenAPI Generator や gRPC において自動生成を活用することによって、複数領域間で合意の取れたスキーマ定義からコードを自動生成することによる、認識齟齬の軽減と実装コストの削減を実現してきた。しかしながら、このアプローチが可能なのは API スキーマに限らない。より抽象化・拡張をして解釈すると「一つのドメインを複数から参照しうるもの」「複数に対して類似した処理を行っているもの」に対しての適用が効果的であると捉えることができ、より多くの事象に対しても適用することができる。
この解釈のもと、プロジェクト全体の多くの場所で自動生成活用することで、トイル徹底削減・情報集約・高保守性を実現した。
本セッションでは、自動生成の対象とすべきものの見極め方をはじめとし、実際に受けた開発速度・保守性に対する恩恵や、情報を集約することによる大幅な拡張性について紹介する。

■ 発表の詳細(1000字程度)

本セッションでは、まず既存で活用されている API 開発におけるスキーマベースの恩恵について再度振り返りながら、その利点について整理する。その後、このアプローチをより抽象化していくことによって、API スキーマ以外での自動生成の転用に繋げるためのヒントを得る。これを元に解釈をより拡張することで、今までは自動生成の範囲外だと思っていた領域にも積極的に活用していくアプローチを確立するまでの流れを説明する。そしてこれらによって、今までの手動実装では実現できなかった新たなアイデアを実現した具体的な実装例を紹介する。最後にこの実装を運用することによって得られた具体的な恩恵を述べる。

以下のような流れでのセッションを予定している。

  1. 既存のスキーマベース開発
  2. スキーマベース開発における自動生成の活用状況
  3. スキーマベースにおける自動生成の抽象化と拡張
  4. 自動生成を中心とした開発における思考
  5. 事例:「一つのドメインを複数から参照しうるもの」
  6. 事例:「複数に対して類似した処理を行っているもの」
  7. 自動生成によって得られた恩恵

「feature flag の横断的管理」「負荷試験シナリオの自動生成」「フロント・バックエンド・オブザーバビリティツールを跨る共通エラーコードと Runbook」「センシティブデータのマスキング実装」など、多岐にわたるより具体的な応用例を紹介する。これによって、実際に抽象化したアプローチから実装を実現するまでの流れをよりイメージすることが可能となる。

参考事例:

■ 対象聴衆とその人たちが得られるもの

数多くの自動生成活用事例を知ることができるだけではなく、自動生成の対象をどのように見極めるかの根本のアプローチを知ることができるため、既存では実現し得なかった全く新しいアイデアによって、困難な課題を解決するための糸口を得ることができる。

■ なぜこのトピックについて話したいのか(モチベーション)

これまで多くのカンファレンスやイベントなどで、様々な領域への自動生成を活用した事例について紹介してきました。今回のトピックではその根底となる「自動生成の対象となるものをどのように見極め、それをどう応用しているのか」といった部分について述べることで、自分だけでは想像していなかったような活用事例が今後より出てくることを期待しています。