微软已经发布 Windows Server 2016 和 System Center 2016 第三个技术预览版,已经提供下载。Windows Server 2016 技术预览版第三版也是首个包括了容器技术的支持的版本,也提供了 Nano Server 和数据中心增强的功能。
Windows Server 容器是微软和 Docker 合作的,开发者可以通过隔离操作系统环境的方式来运行应用。Windows Server 容器是 Docker 开源计划的一部分,容器可以通过 PowerShell 或 Docker 客户端来部署和管理。
微软自家的 Hyper-V 容器将于将来 Windows Server 2016 预览版支持,提供第二种容器选项。
Windows Server 2016 还有一些其他功能:增强的 Nano Server 功能、简化软件方面的网络功能、扩展安全性、增强管理。
微软Windows Server开发团队的工程技术人员们在今年的Build开发者大会上分享了大量与Nano Server相关的细节信息,作为一套设计灵感源自CoreOS、红帽Atomic Host以及"Snappy" Ubuntu Core等小规模、以云为核心的Linux发行版的系统方案,Nano Server提供一套能够与Windows Server相兼容、但同时又仅仅包含最低组件涵盖范畴的精简平台。
微软公司一位杰出工程师Jeffrey Snover宣称"就目前而言,Nano Server已经成为我们继Windows NT以来在Server家族当中所实现的最重要、也最显著的变更方案,"。Snover给出的一项重要说明在于,Nano Server绝不是Windows Server开发团队的什么并行项目或者实验性产物。相反,Nano Server是其大规模代码重构项目的首套直观可见成果,且其最终将改变Windows Server各个版本的构建方式与交付途径。
作为该产品的首套版本,工程技术团队将关注重点牢牢控制在两大主要场景身上:云基础设施与云环境内开发而成的应用程序。不过展望未来,Nano Server将最终成为Windows Server的一种新基准,而所有更为复杂的组件都将以此为起点进一步构建完成。
Nano Server目前的磁盘占用空间约为400 MB,Snover指出,而且其在未来的发展过程中可能并不会进一步膨胀。大家仍然可以选择使用Server Core以及全面但臃肿的Windows Server,但如果各位仅仅希望使用启动一套服务器系统并将春运行在云环境下所必需的最低程度组件数量,那么Nano Server无疑是最为理想的选择。此外,如果大家有意在Nano Server默认水平之外稍微进行一部分扩展,那么微软方面也允许各位将其它操作系统功能安装于其中——正如大家当下向系统中安装应用程序那样。
微软公司在对其服务器操作系统进行精简的过程中,第一步就是将GUI层彻底清理出去。事实上,Nano Server并不支持任何类型的本地访问机制。所有管理工作皆需要以远程方式完成——通过Windows Management Instrumentation(简称WMI)与PowerShell相结合来实现——或者更准确地讲,Core PowerShell,微软方面的一套全新命令行实现方案、主要运行在Core CLR而非完整的.Net运行时之上。
不过这一变更的主要目的绝非仅仅为了节约存储空间。其同时也是为了将Windows管理员社区引导至现代数据中心领域当中——如果有必要,即使因此而引发抱怨甚至反抗也在所不惜。对于Snover而言,Windows管理员通过以本地方式运行在服务器之上的GUI工具管理其基础设施的概念体系已经完全过时、不再符合新时代下的具体要求。
从现在开始,Snover表示,专门为Windows系统编写服务器端软件的开发人员们应当将Nano Server作为其默认编写对象。如果他们切实需要一部分超出Nano Server供应范围的功能,那么还有Server Core以及全功能Server作为备选方案。总而言之,编程人员真的不需要围绕着API依赖性来创建代码,他们没有任何理由非得这么做。
不过Snover同时强调称,Nano Server并不属于一款全新操作系统。它仍然属于Windows Server,只不过这套版本只能提供完整Win32 API中的一个子集。作为系列的起点,目前的Nano Server只提供64位版本,这意味着32位二进制代码无法在其上运行。
根据Snover的说法,目前微软公司已经在Nano Server上顺利运行有软件包包括Chef、Go、Java(OpenJDK)、MySQL、Nginx、Node.js、OpenSSL、PHP、Python 3.5、Redis、Ruby 2.1.5以及SQLite等等。
不过尽管Nano Server的安装方法听起来足够智能而且简便,但在这款微操作系统上安装软件仍然存在一定难度、微软方面也始终在处理相关问题。事实上,随着时间的推移,将应用程序安装在Nano Server之上的惟一方式就是单纯将必要文件复制到该系统镜像当中——仅此而已。
由于传统Windows MSI安装流程当中包含大量面向GUI的依赖性,Snover表示,因此其无法在Nano Server上正常运行。
Snover同时指出,微软公司目前正加紧调整Nano Installer,希望利用其处理传统MSI类安装程序所负责的各类任务,包括卸载、注册与注销COM对象、创建并删除注册表键等工作。
但他还同时补充称,随着Nano Server的推出,微软公司正努力在安装与配置这两类任务之间作出明确的区分。Nano Installer的工作是处理由软件获取到复制到Nano Server系统之间的这部分任务,Snover指出,而配置则作为单独步骤存在、旨在处理诸如PowerShell的Desired State Configuration(即理想状态配置)等事务。
Nano Server将运行在任意环境当中,他指出,其中包括裸机、作为访客操作系统运行在虚拟机当中或者是作为面向容器机制的主机操作系统。除此之外,尽管这款全新Windows Server迭代方案的首个版本将专注于针对云基础设施以及云应用程序场景,但微软公司已经有计划随时间推移为Nano Server赋予更多角色定位。
Announcing Windows Server 2016 Containers Preview
Containers: Docker, Windows and Trends