数据传输在my Azure项目设置中的成本

数据传输在my Azure项目设置中的成本,azure,azure-sql-database,Azure,Azure Sql Database,我为最终用户Azure应用程序构建了一个实用程序(启动任务)。 该启动任务将通过RESTAPI(托管在东亚)将来自webrole应用程序(根据最终用户选择托管在任何地区)的一些数据发布到数据库(托管在东亚) 所以,如果最终用户在同一地区(东亚)托管了他们的应用程序,那么Azure对我和最终用户的数据传输不会产生任何成本(如果我理解错误,请纠正我) 在另一种情况下,如果最终用户在另一个区域上托管了他们的应用程序,那么最终用户将需要向另一个区域上的RESTAPI传输数据 为了降低成本,我在所有区域都

我为最终用户Azure应用程序构建了一个实用程序(启动任务)。 该启动任务将通过RESTAPI(托管在东亚)将来自webrole应用程序(根据最终用户选择托管在任何地区)的一些数据发布到数据库(托管在东亚)

所以,如果最终用户在同一地区(东亚)托管了他们的应用程序,那么Azure对我和最终用户的数据传输不会产生任何成本(如果我理解错误,请纠正我)

在另一种情况下,如果最终用户在另一个区域上托管了他们的应用程序,那么最终用户将需要向另一个区域上的RESTAPI传输数据

为了降低成本,我在所有区域都设置了REST API,并在启动任务中告诉用户根据要部署应用程序的区域设置特定REST API的路径。现在,在这种情况下,最终用户不需要为数据传输支付任何费用,但我的REST API(托管在不同的地区)会将数据传输到数据库(托管在东亚),因此我需要为此支付费用,也需要在所有地区托管REST API以降低最终用户成本


在上面的例子中,有没有一种方法可以通过使用共享数据库和删除所有区域上托管的多个RESTAPI来降低成本?另外,请建议是否存在更好的解决方案,以降低我和最终用户的成本。

有趣的场景:您基本上让最终用户自己部署应用程序,并将其部署到所选区域?通过RESTAPI上传数据库的目的是什么:备份还是实时数据

我不理解的一件事是关于共享数据库的问题。根据您的描述,已经有了一个共享数据库,因为每个用户都在通过RESTAPI将数据推送到东亚的单个数据库。这不对吗

根据您提供的信息,所有数据都流向一个数据中心,我看到了3个选项,您已经指出了两个选项:

  • 用户在8个数据中心中的任意一个中托管应用程序,您在一个数据中心中托管REST API。在这种情况下,用户可以在on-prem和app之间获得最佳的本地应用程序性能,用户需要为您的API出口付费,并且用户在跨数据中心传输数据时可能会看到延迟
  • 用户在8个数据中心中的任意一个托管应用程序。您可以在所有数据中心托管RESTAPI。用户的数据传输是免费的本地RESTAPI,而且速度非常快。然而,您随后将数据传输到东亚数据库,如果用户不在东亚托管,这将占用您的出口带宽。此外,您现在还需要花费许多额外的RESTAPI实例
  • 用户主机只在东亚,以及您的RESTAPI和数据库。所有数据中心带宽都是免费且快速的。用户可能会看到从on-prem连接到应用程序的延迟,这取决于他们所在的位置
  • 在每种情况下,您都有用户部署他们自己的托管服务,然后该服务将与您的服务对话。是否可以通过让所有用户都访问相同的托管服务,但使用不同的凭据来优化用户成本


    考虑到您需要在每个数据中心至少运行2个实例才能获得Windows Azure的正常运行时间SLA,在每个数据中心托管REST API似乎是一项巨大的开支。但是同样,我不完全理解你的应用程序的场景。

    根据我的理解,场景似乎有点奇怪。如果您提供的包最终用户可以使用自己的Windows Azure帐户托管,为什么还要让他们使用自己的数据库?或者你是说,你正在向最终用户提供项目的源代码作为示例?无论如何,我认为最好让最终用户提供他们自己的数据库帐户。如果你想为自己设计一个RESTAPI,那么把它放在你自己的WindowsAzure服务中。请不要将软件包分发给最终用户。此外,有关计费的更多信息,您还可以通过联系我们的客户支持

    致以最良好的祝愿


    徐明。

    我认为在这种情况下,最好让客户提供自己的数据库。如果您需要使用自己的数据库,您很难节约成本。您可以使用托管在不同数据中心的多个数据库。但显然,这需要更多的成本。您也可以使用单个数据库,但不可避免地会有一些用户从另一个数据中心传输数据。但是,您可以要求用户通过提高产品价格来支付成本。但要求用户提供自己的数据库似乎更好(如果愿意,他们甚至可以选择本地数据库)。这也有助于提高安全性,因为用户的数据不会被共享

    致以最良好的祝愿


    Xu Ming。

    若要继续使用选项2,您可以在数据库前面的东亚托管一项服务。RESTAPI不会直接连接到数据库,而是通过东亚托管的服务进行连接。这里的优点是,您可以在将数据发送到东亚之前压缩数据(例如与protobuf结合),这将降低数据传输成本。@David 1)是的,最终用户可以选择在任何地区部署2)我们发布实时数据(perfmon数据)使用stratup task和REST 3)创建数据库使用共享数据库意味着我是否可以在所有与实时数据相关的区域中托管数据库(部分),并处理来自一个主数据库(托管在东亚)的数据和删除REST中间调用。@Sandrino这取决于最终用户根据自己的便利性选择在何处托管应用程序。我的目的是给他一个just stratup任务,从那里获取一些数据到我的应用程序和数据库。你理解错了,我没有向最终用户提供任何样本。我有一个实用程序,最终用户可以通过它监视他们的azure应用程序。就这样!这一切都将为最终用户和我的项目设置节省成本。