有効期限のないAPIキーの問題点
何年も前に発行され、一度もローテーションされず、今も有効なキーは、便利なものではありません。何年も誰も実際に確認していない負債です。
位置データのプロバイダーを乗り換えるために四半期分のエンジニアリング時間が見積もられる移行プロジェクトは、たいてい本当に必要な作業が四半期分あるわけではありません。何年も前に下された設計判断によって生み出された四半期分の作業です。フィールド単位で解きほぐさなければならない独自のレスポンス形式、誰も記録していない場所にメソッド呼び出しがコードベース全体に散らばったSDK、1つのプロバイダー固有のステータスコードを中心に組まれたエラー処理。そうした複雑さのどれも、住所やIPを検索するという考え方に本来備わったものではありません。すべては、将来の移行を高くつくものにする代わりに当初の連携を便利にした選択から受け継がれたものです。
私たちが17個の互換ホストを構築したのは、既存の連携がすでにそれらのプロバイダーのいずれかの形式で通信しているすべての人にとって、その四半期を不要にするためです。あなたのコードが有名なジオコーディングAPIやIP APIのエンドポイントを呼び出し、その固有のレスポンス形式を解析しているなら、同じコードを対応する互換ホストに向けるのに必要なのは、ベースURLとAPIキーの変更であり、何年も問題なく動いてきた解析ロジックの書き直しではありません。認証では、キーをヘッダー、Bearerトークン、HTTP Basic認証、クエリパラメーターのいずれでも受け付けるので、既存のコードがすでに使っている方式はほぼ確実にサポートされています。
午後の半日で済む移行というのは、軽い気持ちで主張しているわけではありません。それを実現するために私たちの側でどれだけの労力がかかったかを正確に知っているからです。他のプロバイダーのレスポンス形式にフィールド単位で合わせ、実際のリクエストでテストし、お客様の既存のコードがリクエストの送信先以外に違いに気づく理由がないよう、その形式を安定して保つことです。その作業は、乗り換える価値があるかどうかを試したいすべてのお客様のコードベースで、下流でもう一度行う必要がないよう、あえて私たちの側に前倒しで負わせているのです。
より大きなポイントは、私たち自身の互換ホストを超えて当てはまります。四半期かかる移行は、以前の連携についての診断情報であって、プロバイダーの乗り換え全般に本来備わった性質ではありません。プロバイダーから離れるのに数か月がかりのプロジェクトが必要なら、意図的に作られたかどうかにかかわらず、どこかの誰かがその摩擦の存在から利益を得ていたのです。自社のデータ、料金、信頼性に本当に自信のあるプロバイダーには、乗り換えを難しくする理由がありません。売り込むべきことは、離れるのが高くつきすぎて試せないということではなく、試したお客様が離れたくなくなるということであるはずだからです。
私たちは、お客様が同じくらい簡単に乗り換えられるその日の午後に、製品が使い続ける価値があるかどうかを正直に評価してもらい、その点で競いたいと考えています。その午後を可能にするには、実際のエンジニアリングの労力がかかりました。それは費やされるべき労力だったと考えていますし、それを費やそうとしないプロバイダーは、自分が売っているものに実際どれだけ自信があるのかを、ひそかにあなたに伝えているのだと考えています。