一般的な操作の一環として、多数の外部サービスを使用するアプリケーションを管理します。一部のサービスは SOAP サービスであり、その他は Restful Api です。当社が管理するサービスもあれば、サードパーティのサービスもあります。アプリケーションの機能の中心となるサービスもあれば、より補助的/必須でないサービスもあります。
各外部サービスは、「テスト」および「ライブ」環境を公開します。現在、アプリケーションがテスト中 (つまり、開発、テスト、およびステージングのフェーズ) にあるときは、外部サービスのテスト バージョンを使用する必要があるというポリシーに従っています。サービスのライブ バージョンが消費されるのは、ライブ環境のみです。
環境間でどのバージョンのサービスを使用するかを管理する際に、無視できない量のオーバーヘッドがありますが、これは問題ではありません。私の質問は、このポリシーが良いアイデアかどうかです。代わりに、外部サービスのライブ バージョンを常に使用する方がよいでしょうか? 自分たちで管理している外部サービスのテスト バージョンを公開するという間違いを犯しましたか。つまり、テスト環境を非公開のままにする必要がありますか?
アプリケーションが「ライブ」に達するまで、ライブの外部サービスを指さなかったことに(まだ)悩まされていませんが、問題の一部は、開発、テスト、およびステージを「 test' 傘をさすと、ライブの外部サービスに対してテストする能力が失われます。
現時点でわかっているのは、テスト環境でテスト サービスを使用しても得られるものはほとんどないということです。ライブのサードパーティ外部サービスの利用に伴うコストはごくわずかです。また、「テスト」フェーズでクライアントによって消費されていることを認識しているということで、私たち自身のサービスに影響を与える可能性がありますが、これはおそらく対応できるでしょう。
シナリオがこれでいくぶんオープンエンドであることは理解していますが、進むべき道は 2 つしかないように思われますか?