3

我的问题有两个部分,我知道它们是基本的,但无法清除想法,所以发布了这个。

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

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

  2. 我们计划聘请一些有使用 Windows azure 的经验的人,市场上有几个猎头用成堆的简历轰炸你。虽然人们没有在 Windows azure 上工作过,但他们只是包含在简历中。如何评估候选人以判断他在云计算方面的潜力。对此的任何提示都会有所帮助。

4

2 回答 2

6

一、根本区别

Windows Azure 将与 ASP.NET 一起正常工作。考虑到 VM 是 Windows Server 2008 R2/SP2,您无能为力。本地应用程序和 Windows Azure 应用程序之间的最大区别在于这些 VM 的行为方式、Windows Azure 如何管理 SLA 和可用性、如何完成底层来宾和主机操作系统维护等等。想到的几件事:

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

2. 面试

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

  • 描述他们将组合(或分离)任务到相同(或分离)角色的场景
  • 解释如何监控和扩展应用程序
  • 了解升级应用程序的各个方面
  • 了解如何安装和运行第 3 方工具和替代(非 .NET)语言
  • 成本与性能与可用性的架构师
  • 了解存储解决方案(SQL、3rd-party SQL & NoSQL、blob/tables/queues)
  • 了解 Windows Azure 队列与服务总线队列的优缺点
  • SQL Server 和 Windows Azure SQL 数据库之间的差异,包括联合、安全性、瞬态故障、跨数据库查询和事务
  • 了解内容交付网络边缘缓存的功能(和限制)
于 2012-06-16T01:03:37.387 回答
3

1)如你所说;差别不大。我真的很喜欢队列,它们让构建异步进程变得轻而易举。在没有 OPS 帮助的情况下启动环境的能力可以节省大量时间。对我来说最大的不利因素是部署所需的时间。在内部,TeamBuild 可以在不到 1 分钟的时间内将其安装在我的测试服务器上。使用 Azure,它可能长达 30 分钟,具体取决于该数据中心的一天中的时间/使用情况。

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

于 2012-06-15T15:31:46.763 回答