【发布时间】:2013-08-11 07:31:45
【问题描述】:
我们管理一个应用程序,该应用程序使用大量外部服务作为其一般操作的一部分。有些服务是 Soap 服务,有些是 Restful API。有些服务也由我们管理,有些是第三方服务。一些服务是应用程序功能的核心,而另一些服务则更为辅助/非强制性。
每个外部服务都公开一个“测试”和“实时”环境。我们目前遵循的政策是,当我们的应用程序处于测试状态(即开发、测试和暂存阶段)时,它应该使用外部服务的测试版本。只有在我们的实时环境中才会使用实时版本的服务。
在管理不同环境之间使用哪个版本的服务时存在不小的开销,但这不是问题所在。我的问题是这个政策是否是一个好主意?总是使用实时版本的外部服务会更好地为我们服务吗?我们是否犯了暴露我们自己管理的外部服务的测试版本的错误,即测试环境是否应该保持私有?
在应用程序“上线”之前不指向活动的外部服务,我们还没有(还)被烧毁,但我承认我们的部分问题是我们的环境缺乏粒度 - 通过对开发、测试和阶段进行分组在“测试”保护伞下,我们失去了针对实时外部服务进行测试的能力。
我现在意识到的是,在测试环境中使用测试服务几乎没有什么好处。使用实时第三方外部服务所涉及的成本可以忽略不计。此外,我们自己的服务在“测试”阶段意识到它们正在被客户端使用,这可能会产生潜在影响,但这可能会得到解决。
我知道这个场景有点开放,但似乎只有两条路可以走?
【问题讨论】:
标签: wcf api development-environment production-environment dev-to-production