过去Windows与Linux是两个壁垒分明的世界,但是自从2014年Satya Nadella上任微软执行长时,一改昔日敌对作风,甚至喊出「微软爱Linux」,使Windows与Linux不再势不两立。
而在2015年,Satya Nadella也透过开源.NET,以及积极在云端服务Azure上支援CentOS、Ubuntu及SUSE等主流Linux作业系统,证明微软要走向开源、拥抱Linux的口号不是空谈。
在2014年11月,微软首先将.NET伺服器端核心全部开源释出,让.NET应用程式得以在Linux及Mac OS X上执行,在开源社群内引起一波震撼。
在 2015年4月的微软Build大会上,微软则更一步释出Linux、Mac OS X版本的.NET Core Runtime预览版本,让.NET伺服器端的应用程式,走入了Linux及Mac OS X的世界。微软Azure部门技术长Mark Russinovich也示范如何使用Visual Studio,将应用程式打包成Docker映像档,接着部署至Azure上运作。同时,微软也推出了跨平台开发工具Visual Studio Code(VS Code),除了让.NET开发经验可以延伸到Linux和Mac OS X外,也能帮助开发者更容易将程式码部署到微软的Azure云端平台。在2015年11月,微软也将VS Code的程式码开源释出到GitHub上。
除 了投入开源、拥抱Linux外,微软也积极拥抱Docker,让Linux逐渐渗透至Windows。在2014年6月时,微软在DockerCon上, 示范使用跨平台的命令程式介面,在Azure上部署多个Docker主机。10月时,微软则一举宣布将在下一版本的Windows Server中内建Docker引擎,并且支援.NET、Node.js、Java及C++等多种开发工具。使用者得以透过Docker,让应用程式可以 在Windows、Linux的异质环境中运作。
在2015年4月,Docker推出了Docker 1.6版,而其中一大亮点则是首次正式支援微软Windows作业系统。微软也表示,使用者可使用Windows的Docker Client,在Linux Container上运作Docker主机。另外,未来也将支援管理Windows Server Containers和Hyper-V Container,让使用者得以在多重开发环境中,都能够有和Docker Client相同的标准和介面。
8 月时,微软则释出Windows Server 2016的第3预览版本,首度加入对Windows Server Container的支援,让想要使用Contaienr技术的开发者,除了Linux作业系统外更多了一个选择。另外,开发者也可以使用.NET、 ASP.NET、Powershell、Java等工具,进行Container化应用的开发。微软也同时发布Visual Studio及Visual Studio Online更新版,让开发人员得以在Azure环境下建立Windows Server Container。
在 2015年7月,微软也正式宣布,停止支援Windows Server 2003,未来不再释出任何的安全更新。但是,根据网路服务业者Netcraft的调查显示,目前全球仍有超过60万台网站伺服器,使用超过12年历史的 Windows Server 2003,而这些伺服器约代管了1.75亿个网站。其中,美国及中国则占全球的55%。
这意味,目前使用Windows Server 2003的用户仍然具一定规模,未来若要升级至Windows Server 2016,可使用内建Docker引擎,建立Docker化的应用程式。而这些使用者,也会成为跨Linux、Windows环境的新兴用户。