为什么以及何时需要Azure?

时间:2010-08-31 13:35:25

标签: .net azure cloud azure-sql-database

我阅读了大量有关Azure和.NET Service Bus的文章。我想我理解技术部分,但目前我忽略了主要观点 - 一些“案例研究”应该解释我应该将哪些项目转移到云端。假设我正在开始新项目。如何确定我的项目是否适合Azure平台?

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

此外,我对真实体验感兴趣。您是否将任何真实项目部署到Azure?你有什么经历? Azure已经成熟了吗?许多技术在可用之前需要几个(至少3个)重新发布。它与Azure相同吗?

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

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

修改

我今天读了article。它还解释了我的一些问题。

6 个答案:

答案 0 :(得分:8)

[编辑]

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

[/编辑]

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

优点:

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

缺点:

  • 没有分布式缓存 - 有memcached解决方案,但感觉就像一个黑客
  • 从Web应用程序场景中查看时的初始成本较高(例如,成本会对您的应用程序架构产生不当影响)
  • NoSQL和队列解决方案的成本非常高。涉及交易费用会使某些场景变得非常复杂。
  • 通过API无实时(或半实时)结算信息。
  • 管理界面是微软的耻辱。
  • 微软正在缓慢行动/创建新功能需要很长时间。
  • 由于Azure是PaaS vs Amazon(IaaS)提供商,因此您非常关注。一旦VM角色可用,这将发生变化。
  • 启动新实例需要很长时间(~10 - 30分钟)
  • 缺少Map / Reduce框架

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

我认为Azure适用于您提到的所有场景,可能有一个例外,即由于缺乏分布式缓存,您现在会遇到Web应用程序最高端的麻烦。

我绝对信任Azure,而不是信任我的银行,而且很多事件在过去几年中证明了我的正确性。最后,它归结为微软更容易雇用和集中顶级安全人员,而不是非IT公司。他们还有更多的失败。

答案 1 :(得分:7)

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

规划您自己的基础架构非常困难,因为它可以适应这种增长,而不会延长停机时间或至少降低忠诚度的速度。你总是会落后,对资源短缺作出反应,除非你经常过度供应预期的需求,在这种情况下,你可能会使用你的资金,并缩短你的跑道。

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

我认为Azure还有很多其他场景,但我认为我所描述的场景是一个相当引人注目的案例。

答案 2 :(得分:2)

在过去几天从Azure kool援助firehose吸了之后,我可以回答你的几点。

  

安全吗?

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

  

适合你吗?

答案是非常开放的。转过这个问题 - 你最好不要问:你是否需要Azure的任何好处?这个问题的答案可能比对应的答案要清楚得多。有一些benefits to Azure(主要基于可扩展性,可维护性,CDN风格行为和内部IT基础架构成本的去除),但它仍然有其局限性,不适合所有目的,在某些情况下会给你没有任何好处。

答案 3 :(得分: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工具。

答案 4 :(得分:1)

对我而言,这主要是成本效益分析。确定在内部与Azure支持所有基础架构所需的成本。

显然,安全是最大的问题。

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

http://azuresecurity.codeplex.com

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

答案 5 :(得分:0)

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

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

例如,当MS以10亿美元购买Skype时,程序员可以创建一个普及的云托管Skype客户端,并实现Skype所做的没有资本支出或需要VC /金融家增长的理论(理论上)。

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