日期:2014-05-17  浏览次数:20962 次

看微软如何开发Windows Server 2012

微软对未来下了一系列豪赌,Windows Server 2012是这方面的举措之一,它是对该公司的服务器操作系统进行的一次重大升级——旨在改变企业建造和管理数据中心的方式。

据Windows Server 2012的首席架构师Jeffrey Snover声称,其想法是开发一款“最佳的云操作系统”,有别于微软之前开发的任何操作系统以及业界之前见过的任何操作系统。

Windows Server 2012旨在改变企业建造和管理数据中心的方式

经过了三年的研发工作后,微软在9月份初推出了服务器操作系统更新版。这款新的操作系统里面有许多方面需要这家软件开发商搞好:从处理虚拟化、IT部门如何应对自备设备(BYOD)潮流,再到同时提供用于管理许多服务器的工具。

Snover告诉媒体,这意味着,开发过程与他之前开展的项目全然不同。Snover因发明微软的PowerShell脚本语言而大名鼎鼎。

他说:“我们所做的第一件事是停下来。我对大家说‘把你们的笔放下来,让我们好好考虑这个。’整整一年,所有工程师没有编写过一行生产代码。”

测试和讨论

相反,那头一年花在了规划和测试上,以及为这款服务器操作系统更新开发系统上。规划部分意味着与硬件厂商和顾客交谈,了解服务器和数据中心市场的走向到底怎样,并且了解Snover所说的“技术团队的心声”。

他说:“我们走出了小隔间,与客户交谈。”他解释,微软想要知道公司企业希望操作系统有什么样的功能特性。“我们的团队花了许多时间与使用Windows运行云数据中心的人交谈,询问什么可行,什么不可行,他们关注的优先事项是什么。”

第二个部分即更新开发平台意味着,微软的团队致力于开发新的代码管理和开发工具。Snover说,这需要“良好的代码签入、良好的质量度量标准,构建将来需要的单元测试框架。实际上是增强我们的技术能力。”

虽然团队中没有哪个人编写生产代码,但是这并不意味着没有人编写代码。工程师们用一年时间来尝试新的想法和新的技术,熟悉当Windows Server 2012开发工作开始时需要使用的方法和一些工具,包括了解和熟悉新硬件。

处理存储系统

根据客户告诉自己的信息,Windows Server开发团队列出了在下一个版本中需要考虑的几个主要方面。据Snover声称,可能最重要的方面就是努力改进服务器操作系统处理存储系统的方式,旨在帮助IT部门以更低的成本、更有效地管理存储。

Windows Server 2012旨在成为“最佳的云操作系统”

其他重要方面是自动化、速度和虚拟化。客户们表示,自动化特性一定要简化和标准化,而数据中心的灵活性和业务敏捷性需要更好地支持虚拟化。至于速度,重点放在原始性能和性价比上。

接下来,团队罗列了该操作系统需要的一系列特性,提出了需要处理的一系列重要问题。他们了解到的情况主要是,把Windows Server视作数据中心抽象层——他们拿来自NT时代以来就是Windows Server一部分的硬件抽象层这个熟悉概念,然后将其扩展到整个数据中心。

这意味着Windows Server 2012需要不仅仅能够管理和控制计算和存储资源,还要能够管理和控制网络,其手段就是支持虚拟交换机中的软件定义网络,以及可以动态管理大量IP地址的工具。

Snover说,微软“需要一种标准化的方法来管理整个数据中心——数据中心里面的一切部件,又没有厂商锁定问题。”

再造操作系统

他补充说,与桌面端Windows 8一样,这家软件开发商认为Windows Server 2012是为最新硬件再造这款操作系统的大好机会。

他认为,处理器现在普遍采用多核技术,所以应用程序需要充分利用现代服务器中的处理器和内存架构。这意味着,开发团队不得不致力于改进对非一致内存访问(NUMA)的支持——NUMA被认为对改进虚拟化性能而言必不可少,因为它让Windows Server 2012和Hyper-V可以把服务器当作一种计算结构(compute fabric),因而使内存使用实现自动化。

Snover说:“搞好NUMA这一块非常难。所以,我们进行了大量的分析、测试、度量和调整,因而为我们提供了出色的NUMA扩展功能。”

团队时时放在心上的一个方面就是持续可用性(continuous availability)这个概念——大致说来,就是把云计算引入到数据中心。持续可用性使用计算结构、存储结构和网络结构,让业务系统保持运行,哪怕当应用程序、存储系统和基础设施出现故障时也能确保正常运行。据微软的这位知名工程师声称,这改变了服务器和数据中心的设计方式。

为此,微软采用了Snover所说的“一种非常精心设计的弹性方案”——关注如何为单一节点、多节点集群、甚至跨多个站点来实现弹性。”

Snover声称团队采取的方案“沿着堆栈往上走”。这意味着,进行了文件系统和内核方面的变化,包括开发一种全新的弹性文件系统,名为ReFS。

在内核层面,微软改变了数据刷新到磁盘上的方式,因为企业改而使用大众化硬件意味着企业使用成本更低的消费级存储系统。结果就是,能够实时动态查找NTFS问题,并及时修复,不需要重启系统(重启会导致磁盘停运一小段时间)。

应对BYOD

除了考虑私有云外,工程师们还处理了BYOD策略。Snover表示,无人管理的设备现在是大多数企业网络的一部分,所以必须由应用程序和设备管理向Windows Server中的用户和信息管理转变。这意味着,把新特性做入到操作系统中,确保它能扩展、处理数量激增的数据。

由此而来的动态访问控制(Dynamic Access Control)增添了可以自动实施的规则,因而牢牢保护了基于访问的角色、用户组ID和用户ID。

员工们现在还期望办公工具与消费级设备一样便于使用。Snover表示,微软在努力加强Windows Server对虚拟桌面基础设施(VDI)的支持,以满足这些预期要求。

Windows Server 2008 R2引入了RemoteFX,这项技术使用远程桌面协议(RDP),把硬件加速图形和视频效果带到虚拟桌面。不过,它需要额外硬件,这意味着服务器需要有桌面图形卡。

新的编解码器

这方面在Windows Server 2012中有了变化,现在它有软件图形处理器(GPU)。据Snover声称,RDP协议方面也得到了改进。

他说:“我们正在运用来自微软研究部门的许多技术。我们使用不同的编解码器用于屏幕的不同部分——比如文本,比如视频。”

那些新的编解码器旨在更容易把虚拟桌面和远程应用程序交付给在家办公或移动办公的员工。

Snover说:“借助新的编解码器,效率大大提高了。你在局域网上和广域网上都能获得很高的效率。”

由于Windows Server 2012现在可供下载,这对微软的开发团队来说任务结束了,但是对全球各地的规划服务器和数据中心升级的IT部门来说任务刚开始。

由于得到服务器、存储系统和网络等厂商的支持,又能够买到预先配置的参考架构,微软把这款Windows Server版称为“盒子中交付云”。该操作系统如何得到部署,以及企业的IT团队如何用它来处理像BYOD和私有云这些关键问题,这些都值得关注。