这可能是一个简单的问题,但由于我无法在谷歌上找到最佳答案,我想知道你的问题。
我正在考虑更改我在WPF中将其数据从本地服务器访问到云服务器(可能是Azure)的软件。
最好的方法是什么,直接连接到数据库或通过clould中的服务进行访问(我必须由我开发)。
感谢!!!
答案 0 :(得分:0)
我认为无论你是否使用Azure,问题的答案都是一样的。
服务在应用程序和数据库之间添加一个抽象层,这可能有助于长期维护,但它确实有与之相关的成本(在初始努力方面)和一些潜在的性能损失(尽管这并不一定非常重要)所以最后你必须根据申请加权。
我真的不认为这是一个万能的答案。
答案 1 :(得分:0)
通常,我会防止通过客户端应用程序直接访问云中托管的数据库。您将通过提供重要攻击媒介的公共互联网公开您的数据库端点。
通过使用服务,您可以限制攻击媒介。服务本身也是“暴露的”,但可以使用OAuth,AD等认证/授权协议锁定(通常更有效/更容易)。服务本身只会暴露客户端应用程序所需的操作,而不是访问完整的数据库模式(当数据库在开放的互联网上时,有人应该破解密码)。
您没有提及是否计划在IaaS中使用Windows Azure SQL Azure或您自己的数据库。当然,您可以在Windows Azure中托管的VM上通过防火墙等实现自己的安全性,但这是您需要适应的另一个基础架构任务,如果您的客户端IP更改等,那么管理这些并非无关紧要