9

我阅读了大量关于 Azure 和 .NET 服务总线的文章。我想我了解技术部分,但目前我错过了要点 - 一些“案例研究”应该解释我应该将什么样的项目转移到云端。假设我正在开始新项目。如何确定我的项目是否适合 Azure 平台?

Azure 的常见方案有哪些?它适用于全球 B2C 应用程序、本地 B2C 应用程序还是也适用于“内部”B2B 应用程序?如何确定全球 Azure 是否优于本地基础架构或本地服务器托管提供商?与其他方案相比,迁移到 Azure 的优缺点是什么?

我也对真实体验感兴趣。您是否将任何实际项目部署到 Azure?你的经验是什么?Azure 已经成熟了吗?许多技术在可用之前需要多次(至少 3 次)发​​布。Azure 也一样吗?

我最后担心的是安全和信任。你信任 Azure 平台吗?我阅读了一篇文章,该文章演示了一些使用 SQL Azure 服务在 Azure 上进行的假设银行交易。它真的可以在 Azure 上安全地完成吗?

有类似的帖子,但我没有在那里找到答案。

编辑:

我今天读了这篇文章。它也解释了我的一些问题。

4

6 回答 6

8

Azure 的最佳方案之一是您希望病毒式增长的应用程序。是的,抱有这样的期望几乎是愚蠢的,但是有一类应用程序——特别是“社交”应用程序——只有在它们经历病毒式增长时才会存在。

以这样一种方式规划您自己的基础设施是极其困难的,它可以适应这种增长,而不会延长停机时间或至少威胁忠诚度的减速。你总是会落后,对资源短缺做出反应,除非你不断地为预期需求过度供应,在这种情况下,你可能会糟糕地使用你的资金并缩短你的跑道。

Azure 巧妙地解决了这些问题。您可以根据需要添加资源。您可以在几分钟内响应使用高峰,通过 Azure 管理控制台添加新资源。

我认为 Azure 非常适合许多其他场景,但我认为我所描述的场景是一个相当有说服力的案例。

于 2010-08-31T13:43:57.767 回答
8

[编辑]

刚刚发现了我这个 10 个月大的帖子。嗯,事情发生了变化。我们从微软转向 Ruby、Coffeescript、Node.js 和一点 Scala,从不后悔。Heroku 和 MongoHQ 被证明更适合我们正在做的事情。

[/编辑]

我有两个在 Azure 上运行的测试版面向消费者的网站,并且从最早的测试版开始就一直在使用它。

优点:

  • Azure 非常稳定。尽管我们确实处理了大量数据,但我们没有发生任何事件。
  • SDK 是全面的、有据可查的并集成到 IDE 中。
  • 正常运行时间超过 SLA
  • 快速 - Azure 在各个方面都非常快
  • 非常适合开发工作流程
  • Microsoft 非常敬业的员工和 MVP。您可以在需要时随时获得帮助。
  • 我们极大地节省了管理成本。例如,我们不需要一个 ;-)
  • 易于扩展。这是最大的卖点。不需要初始资本支出,一旦我们接受 CNN 采访,我们将在一两天内再增加几个角色。
  • 企业级,使用 SQL Azure 的负载平衡数据库系统。移植代码最多只需几个小时。

缺点:

  • 没有分布式缓存 - 有 memcached 解决方案,但感觉就像是 hack
  • 从 Web 应用程序场景来看,初始成本很高(例如,成本对您的应用程序架构有不当影响)
  • NoSQL 和队列解决方案的成本非常高。涉及交易费用,这使得某些场景非常难以实现。
  • 没有通过 API 提供的实时(或半实时)计费信息。
  • 管理界面是微软的耻辱。
  • 微软进展缓慢/他们需要很长时间才能创建新功能。
  • 由于 Azure 是 PaaS 与 Amazon (IaaS) 的提供商,因此您非常受限制。一旦 VM 角色可用,这将改变。
  • 启动一个新实例需要很长时间(~ 10 - 30 分钟)
  • 缺乏 Map/Reduce 框架

现在有些缺点很严重,但它们不应阻止您选择 Azure 平台,因为其中大部分可能会在 PDC 解决。

我认为 Azure 适用于你提到的所有场景,也许除了由于缺乏分布式缓存,你现在在非常高端的 Web 应用程序中会遇到麻烦。

我绝对信任 Azure 胜过信任我的银行,在过去几年中,许多事件证明我是对的。归根结底,微软雇佣和集中一流的安全人员比非 IT 公司容易得多。他们还有更多的损失。

于 2010-10-20T08:30:15.150 回答
2

在过去几天从 Azure koolaid firehose 吸了水之后,我可以回答你的几个观点。

它安全吗?

是的。它在物理上是安全的,并且是数据安全的。您存储在其上的数据不会放在一个驱动器上,而是分散在许多驱动器上。您最大的风险来自心怀不满的前雇员,这完全在您的控制范围内。

适合你吗?

这个问题的答案是非常开放的。扭转这个问题 - 你最好问:你需要 Azure 的任何好处吗?这个问题的答案可能比其对应的答案要清楚得多。Azure有一些好处(主要基于可扩展性、可维护性、CDN 风格行为和消除内部 IT 基础设施的成本),但它仍然有其局限性,并不适合所有用途,在某些情况下不会给您带来任何好处一点也不。

于 2010-08-31T14:00:03.047 回答
2

Azure 的主要优势在于,它使您能够根据需要向上或向下扩展应用程序或服务,而无需投资硬件或维护硬件的人员等长期成本。

如果您使用自己的基础架构实现相同的应用程序,那么无论您从应用程序中获得多少价值或效用,您都会有大量的前期固定成本。例如,您必须购买、安装、设置和维护足够的硬件来处理预期的峰值负载,即使您的峰值负载每天或每月仅出现一次。如果您低估了峰值负载会发生什么?在您可以构建更多硬件之前,您的服务会下降。如果您高估了峰值负载会发生什么?你有闲置的未使用的硬件,这意味着你花了不适合你的钱。

是的,Azure 可用于 B2C 场景,例如运行面向消费者的网站或服务。B2C 需要能够快速扩展(在几分钟或几小时内)以处理口碑病毒的吸收。您能否将新的服务器硬件带入本地并在半小时内启动并运行?可能不是。

是的,Azure 可用于 B2B 方案,例如为库存或供应链管理运行服务 API。您可以将您的 Azure 应用程序设置为自给自足的孤岛,或者使用服务总线,您可以将其连接到您的公司网络以提供后端服务。

Azure 对于处理“激增”处理特别有用,例如对大数据执行数据分析。启动几个 Azure 实例以仔细检查数据,然后在您下班回家时将它们全部关闭。您可以获得数百或数千个可用计算节点的好处,但您只需在使用它们时为它们付费。

尽管我一直在推动他们做更多事情,但我必须感谢 Azure 平台团队一次没有承担太多。Azure 目前提供的服务菜单相当少(blob 存储、表存储、队列服务),但这些服务运行良好且可扩展。

Azure 成熟了吗?从某种意义上说,所提供的服务完全成熟且可靠,是的,我会说 Azure 是成熟的。如果你的意思是成熟的意思是你可能想要的每一种可能的服务都是内置的,不,Azure 仍在扩大其服务产品的广度。

Azure 目前可能不是最适合的应用程序和服务场景。例如,我不知道 Azure 数据中心是否适合实时金融市场处理。Azure 适用于近乎实时的数据分析,当然也适用于日终风险分析。Azure 不实施自动部署和纵向扩展来处理动态负载或调峰 - 您可以手动管理它或使用服务 API 编写自己的实例管理器。Azure 的定价结构是为商业应用程序设计的——托管个人网站或博客是多余的,而且成本效益不高,除非这样的网站具有相当高的流量并且是收入来源。

披露:我是一名 Microsoft 员工,我在为 Windows Azure 开发工具。

于 2010-08-31T14:39:28.537 回答
1

对我来说,这主要是一种成本效益分析。确定在内部支持所有基础结构与 Azure 的成本。

显然,安全是最大的症结所在。

我不能亲自与安全人员交谈,因为我不必过分担心它,但这里有一些关于我发现的 azure 安全性的资源。

http://azuresecurity.codeplex.com

http://www.windowsecurity.com/articles/Microsoft-Azure-Security-Cloud.html

于 2010-08-31T13:37:13.370 回答
0

这个问题建立在错误的前提上。项目根本不需要迁移到云端。正如之前的回答者所提到的,云提供的是一个不受可扩展性限制的新想法的平台。云的主要好处是所有与增长相关的主要成本都是运营支出,而传统的“项目”需要资本支出才能增长,因此基于危机前的金融风险投资式增长模式。

关键是,当新想法确实出现时,如果它们变得流行,并且如果它们托管在云上,它们可以不受限制地增长(只要它们的成本模型始终保证每笔交易的成本小于或等于收入)每笔交易),结果将是这些“项目”变得无关紧要。

例如,虽然 MS 以 10 亿美元的价格收购了 Skype,但程序员将有可能创建一个流行的云托管 Skype 客户端,并实现 Skype 在没有资本支出或需要 VC/金融家增长(理论上)的情况下所做的事情。

因此,问题不应该是“云的好处是什么”,而是真正的“什么商业模式有意义,一旦接受云托管的模式最终可能会出现”

于 2012-11-24T22:35:43.723 回答