Windows运维容器对比:WinDocks vs. Microsoft
诗诗 2018-03-15 来源 :网络 阅读 1330 评论 0

摘要:本文讲的是Windows运维容器对比:WinDocks vs. Microsoft,介绍基于WinDocks的容器和Microsoft的容器之间的区别。

本文讲的是Windows运维容器对比:WinDocks vs. Microsoft,介绍基于WinDocks的容器和Microsoft的容器之间的区别。


WinDocks是在Windows系统层面上的具有独立端的Docker开源应用。作为前微软工程师,我们致力于改善软件开发人员的工作,在2016年3月我们开源了第一个基于Windows的Docker端。基于社区免费版我们培养了大量相关技术人员。


目前,微软发布了Windows Server 2016,并且支持Windows容器技术,那么许多人就想要详细探究WinDocks与微软的Windows容器到底在实现形式上有什么异同。以下的内容是基于微软SQL Server专业人士的公开演讲,以及对微软Windows Server 2016的容器测试。


供开发和测试的容器

Windows容器与Linux容器带来同样的好处,因此我们希望Windows容器同样成为支持开发,测试和QA的首选基础设施。在不久的将来,容器可以引导持续集成,持续交付,DevOps的增长。


WinDocks容器提高了开发速度与效率,开发人员在一个共享的虚拟机使用隔离容器环境,每个实例化可以控制在秒级别。假设每个开发团队平均使用20个VM,应用容器技术的话,可以共用一个VM。20:1的比例缩减微软服务器许可证可以为Windocks的用户立即提高收益率(也可能不是 Mircosoft容器用户)。


WinDocks vs. Microsoft

内置:微软的容器支持被包含在Windows Server 2016中,而且作为Windows 10专业版和企业版的附加,这就使得客户针对一个供应商提供服务支持。而对于容器本身支持则没有增加成本,他们实际上不一定是免费的。


WinDocks Windows支持:WinDocks对容器支持包括了所有版本的Windows 8、Windows 10、Windows Server 2012、Windows Server 2016,这样为开发人员提供了方便的接入。行业调查显示,客户计划逐步迁移到Windows Server 2016。这表明Windows Server 2012将继续扩大共享使用率到2020年,与Windows Server 2016同期逐渐增长。


SQL Server的支持:WinDocks的成立旨在解决开发人员所需有效的SQL服务器环境。超过80%的组织每月只测试SQL Server两次。WinDocks通过对SQL Server容器和镜像提供自动工作流的方式,来支持SQL Server 2008及以上所有版本的发布。WinDocks利用了微软成熟的DLL共享架构,使当前SQL Server通过容器发布而不变更工具或进程。


Windows Server 2016已经发布,但并没有有效的SQL Server支持。三个月后发布的SQL服务器镜像支持仍局限于SQL Server 2014 Express和SQL Server 2016 Express。其他悬而未决的问题包括缺乏支持SQL Server Management Studio 的Windows身份验证(目前仅限于SQL sa身份验证),以及缺乏IP回环的支持。简言之,微软对SQL Server的支持只能被形容为并不完善。


更大的问题还没有讨论是微软正在为未来的SQL Server容器镜像秘密计划新的SQL Server许可条款。新许可尚未透露,但考虑到减少VM来获取容器,不太可能是“免费”的。


应用程序容器vs. 微软臃肿软件:WinDocks容器通过“guards”容器和实施资源限制提供了用户和进程隔离。这个设计提供了类似于微软的安全服务器核心容器,为企业内提供了可信的工作负载。这个设计并不是为了不可信的多租户使用,这也解释了为什么微软提供hyper-v容器支持。


WinDocks应用级容器比Windows容器更加轻量级。微软容器背负重大的Windows文件,基本镜像平均> 9 GB,而WinDocks平均100 MB。微软容器需要20多额外的进程,而且比WinDocks容器额外多80 MB RAM。WinDocks .net IIS容器使用5 MB的RAM(16倍差),所以系统分级的影响是显著的。如果平均开发团队运行SQL Server和.NET,则微软容器主机需要比WinDocks服务器耗费更多的CPU和RAM!


微软这样的设计同时会导致镜像维护的增加,Windows更新迫使镜像重建(每个镜像包含大量Windows封装)。WinDocks的设计,相比之下,允许独立更新容器镜像。


镜像支持:除了支持所有SQL Server 2008及以上版本,WinDocks还支持Java及之上的Tomcat和Jetty,Nginx,node.js。正如我们已经指出的那样,微软缺乏镜像支持SQL Server发布的版本,以及Java的Tomcat服务。


其它应用程序支持:微软容器设计的一个优点是能够支持依赖注册表支持的Windows应用程序。WinDocks对SQL Server镜像的支持如何涉及到对Windows注册表的依赖,那么将是一个很大的工程量。微软的设计更好地支持范围广泛的依赖Windows注册表的应用程序。


容器发布:WinDocks利用本地安装.NET和SQL服务器实例来支持创建容器和镜像。这种方法实现起来比较简单高效,而且利用微软成熟的DLL共享架构。这种方法同时使用了现有的主机或基于SQL Server许可的核。当前SQL Server许可允许一个主机上的多个实例,而WinDocks使得这种多实例的使用更加快速和实用。对于开源的镜像,如Nginx,node.js或Java,WinDocks同时包含了可再发行的运行时支持。


微软的容器服务是基于新的设计模式,每个容器等于一个新安装的应用程序,容器镜像则是一个新的安装包。这就解释了微软引入新的许可条款的理由。


其他问题:微软对Windows容器的支持在不断的进步,但在发表这篇文章的时候仍然存在着缺乏支持IP回环,不支持mount,以及不支持SQL Server Management Studio的Windows身份验证。


结论

WinDocks针对现有的系统和发行版本,可以简单的采用、使用和支持。开发人员可以在Windows 8,Windows10,Windows Server 2012,或Windows Server 2016上支持.NET、SQL Server和Java。WinDocks软件目前已经被广泛应用,开发人员平均减少VM使用比例为10:1,大大缩减了在微软许可证上的投入成本。


而相对来说,微软的容器之路并不完善,提供的可伸缩性很有限,这正是运维的痛点,并且其中还存在大量悬而未决的问题。客户如果使用微软的Windows容器应考虑等待新的SQL Server许可镜像,并且需要更多和更强大的系统来支持镜像维护。


希望这篇文章可以帮助到你。总之,同学们,你想要的职坐标IT频道都能找到!


本文由 @诗诗 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程