我们有自己的应用程序,将联系人存储在 SQL 数据库中。在云中启动和运行都涉及什么,以便应用程序的每个用户都可以拥有自己的私人联系人列表,这些联系人将与他的计算机和他的手机同步?
我试图了解 Azure 在这方面的成本,但我发现比具体场景更抽象的话题。
假设有 1,000 个用户,每个用户在他的通讯录中保存了 1,000 个联系人。没有用户可以看到任何其他用户设置的联系人。每当用户更改其联系信息时,都应进行同步。
谢谢。
我们有自己的应用程序,将联系人存储在 SQL 数据库中。在云中启动和运行都涉及什么,以便应用程序的每个用户都可以拥有自己的私人联系人列表,这些联系人将与他的计算机和他的手机同步?
我试图了解 Azure 在这方面的成本,但我发现比具体场景更抽象的话题。
假设有 1,000 个用户,每个用户在他的通讯录中保存了 1,000 个联系人。没有用户可以看到任何其他用户设置的联系人。每当用户更改其联系信息时,都应进行同步。
谢谢。
虽然 Windows Azure 云平台不打算与 Dropbox 等面向消费者的服务直接竞争,但它肯定是作为构建应用程序的平台而设计的。因此,您的特定用例对 Windows Azure 来说是一个很好的用例:创建一项服务以保持联系人同步、可跨多个用户扩展、可扩展其拥有的数据量等等。
使您的解决方案对多租户友好(根据@BrentDaCodeMonkey 的评论)是成本效益的关键。您的数据需求是 1K 用户 x 1K 联系人/用户 = 1M 联系人。如果每个联系人大约 1KB,那么我们谈论的是大约 1GB 的存储空间。
查看定价计算器,1GB 的 Windows Azure SQL 数据库实例的静态存储成本为每月 9.99 美元(如果增加到 2GB,则为 13.99 美元等 - 请参阅计算器以了解附加预测和当前定价) .
然后你有数据传输(带宽)费用。尽管由于定价计算器显示“每个计费月的前 5 GB 出站数据传输也是免费的”,但假设同步中的智能程度适中,您可能不会对当前用户产生任何费用。
这不包括您的申请费用。你的应用程序是什么,它是如何运行的,等等?假设有一个客户端组件,(通常)不能信任该组件具有数据库连接。因此,这将需要运行一个服务器端组件,该组件可以充当数据库的看门人。(通常,您也不要将数据库暴露给所有 IP 地址——这是通过服务器端组件传输数据的另一个动机。)该组件的运行也需要花钱。成本也在定价计算器中- 但如果您选择使用可以免费的 Windows Azure 网站。一个很好的方法可能是漂亮的 ASP.NET Web API最近发布的堆栈。使用 Web API,您可以实现一个很好的 REST API,您的客户端应用程序可以安全地访问它。Windows Azure 网站可以托管 Web API 端点。也检查“保留实例”功能。
我会从 Windows Azure 网站开始,但随着我的服务变得越来越复杂/复杂,请查看 Windows Azure 云服务(作为构建服务器端组件的更先进的方法)。