Tech
ライブAPIコントラクトは、なぜCIパイプラインが検出できない形でのみ壊れるのか?
81
機会
コンシューマー駆動コントラクトテストはマージ前に破壊的変更を検出できるが、PRの時点でコントラクトを固定するため、デプロイ後にライブサービスで蓄積されるセマンティックなドリフトを検出するメカニズムを持たない。チームはプロダクションのホットフィックスで未文書化フィールドを追加したり、インシデントの解消のためにエラーの形式を変更したり、OpenAPI仕様に触れずにバリデーションを緩めたりする。World Quality Report 2025は未検出のAPIスキーマドリフトを分散システムにおけるプロダクションインシデントの上位3原因として挙げ、プロダクションにおけるAPIの障害のおよそ70パーセントがすべてのCIチェックを通過していると推定している。現在のツールで、公開コントラクトに対して実際のプロダクショントラフィックを継続的に監視し、マージ時ではなく蓄積されるにつれて違反を表面化させるものは存在しない。
重要な理由
公開したコントラクトに対して実際のライブトラフィックを監視することで、APIが約束していることとサイレントに提供しなくなったこととの間の最後の一マイルを埋めることができる。
機会をどう評価するか
Opportunity Scoreは測定値ではなく、私自身の見解です。どれほど痛みを伴うか、どれほど頻繁に影響を与えるか、そして今日時点で解決策がいかに少ないか。スコアが高いほど、構築する価値が高いと私は考えています。
深刻度8/10
それが現れたときにどれほどの痛みをもたらすか。
頻度8/10
実際にどれほど頻繁に人々がそれに直面するか。
ホワイトスペース7/10
今日時点で、それに対する優れたツールがいかに少ないか。