使用windows azure时的开发差异

时间:2012-06-15 12:56:56

标签: asp.net asp.net-mvc azure cloud

我的问题有两个部分,我知道它们是基本部分,但无法清除想法,因此发布此内容。

我们计划在windows azure上构建一个新的应用程序。在阅读了一些关于云的文章之后,我在云上构建了一个示例应用程序,它执行CRUD等基本操作。

  1. 所以我想知道在使用azure应用程序时你们所感受到的所有根本区别。我使用MVC作为框架构建了应用程序。在使用MVC和使用MVC的云应用程序在普通Web应用程序中编写代码方面,我没有太大的区别。 在构建云应用程序时有什么待办事项?

  2. 我们计划聘请一些有使用Windows azure经验的人,市场上有几个猎头用大量的简历轰炸你。尽管人们没有在窗户上工作,但他们有刚刚包含在那里的简历。如何评估候选人判断他在云计算方面的潜力。任何提示都会有所帮助。

2 个答案:

答案 0 :(得分:6)

<强> 1。基本差异

Windows Azure可以在ASP.NET中正常运行。考虑到虚拟机是Windows Server 2008 R2 / SP2,您无法做到。本地应用程序与Windows Azure应用程序之间的巨大差异是关于这些VM的行为方式,Windows Azure如何管理SLA和可用性,底层guest虚拟机和主机操作系统维护是如何完成的等等。想到的一些事情:

  • 负载平衡。无法将流量定向到一组Web或辅助角色实例中的特定VM实例(除非您构建自己的请求路由器)。所以你需要计划无国籍状态
  • 会话管理。与第一点相关。不能使用inproc,需要使用Cache,表存储或SQL提供程序,它们可以提供无缝的会话体验。
  • 服务。 Windows Azure提供身份管理,缓存,流量管理器(跨数据中心的负载平衡),CDN(blob的边缘缓存),blob存储,表存储(无模式,NoSQL)等。您需要仔细查看这些服务,看看它们最适合您的应用。例如:表存储可以扩展到每个帐户100TB,并且每GB成本非常低,但是程序员需要学习一种新的内容持久性方式,特别是如果他们已经习惯了SQL Server。
  • 部署。您需要了解如何维护您的应用,监控,扩展,升级。
  • 状况。您需要了解Windows Azure如何管理您的操作系统(除非您使用的是您管理的虚拟机),如何处理故障(例如硬件故障)
  • 安全。 Windows Azure SQL数据库安全性与SQL Server安全性不同。

<强> 2。面试

架构技能至关重要。可以更轻松地学习编程技巧,尤其是使用Windows Azure Training Kit或一些好书。在面试Windows Azure项目的候选人时,这里只是我要询问的一些快速列表。经验丰富的Windows Azure开发人员将能够处理其中的大部分。

  • 描述将任务合并(或分离)到相同(或单独)角色的场景
  • 说明如何监控和扩展应用
  • 了解升级应用的各个方面
  • 了解如何安装和运行第三方工具和替代(非.NET)语言
  • 建筑师的成本与性能与可用性
  • 了解存储解决方案(SQL,第三方SQL和NoSQL,blob / tables /队列)
  • 了解Windows Azure队列与服务总线队列的优缺点
  • SQL Server和Windows Azure SQL数据库之间的差异,包括联合,安全性,瞬态错误,跨数据库查询和事务
  • 了解Content Delivery Network边缘缓存的功能(和限制)

答案 1 :(得分:3)

1)正如你所说;差别不大。我真的很喜欢这些队列,他们使构建异步过程变得轻而易举。在没有OPS帮助的情况下旋转环境的能力可以节省大量时间。对我来说最大的负面影响是部署所需的时间。在内部,TeamBuild可以在我的测试服务器上使用&lt; 1分钟。使用Azure,最长可达30分钟,具体取决于该数据中心的一天中的使用时间。

2)除了关于连接ACS / ADFS的一些特殊知识之外,我不确定寻找具有Azure经验的人会得到什么。这真的就像写一个内部应用程序。人们把各种各样的垃圾放在他们的简历上只是为了进门,希望你不会注意到。只要把他们认为可以做的所有东西烧烤,你认为他们需要它们才能做到。也许让他们做一个必须登录Azure门户并启动新主机/数据库的场景。让他们部署一个包。让他们对Cloud Project(连接字符串,vm大小,实例)进行一些更改。让他们调试一个工人角色项目。如果他们不能做那些你知道他们撒谎的东西。今天我正在采访一个在一项技能上使用形容词“巨大”的人。你可以打赌我会瞄准那个!