摘要:自从微软和宣布合作以来,微软一直在容器上面的战略可谓稳扎稳打。最近,微软加入,并作为创始成员承诺支持常见容器的格式和运行。这种定位导致大家对于微软容器战略的认识模糊。微软的容器策略并不是可移植性说的直白一点。
自从微软和Docker宣布合作以来,微软Redmond一直在容器上面的战略可谓稳扎稳打。最近,微软加入Open Container Initiative (OCI),并作为创始成员承诺支持常见容器的格式和运行。在最新的Windows Server 2016技术预览版中,微软终于将本地的Windows Container技术提供给开发人员和系统管理员。
由于媒体的关注和用户的积极反响,对于许多消费者来说,容器就等于是Docker的代名词。而且它只在Linux上运行。鉴于这些事实,在开发者社区里,对于微软支持容器技术也一直比较混乱。在不同的博客文章中,微软强调其投资容器。微软高管并不羞于告诉我们他们有多么爱Docker和其背后的团队。这种定位导致大家对于微软容器战略的认识模糊。我不止一次听到开发商询问他们是否可以在Windows上运行Linux容器,反之亦然。在Docker、Windows Containers,以及Hyper-V Containers领域同样非常混乱,下面我就试图详细阐明微软的容器战略。
1.微软的容器策略并不是可移植性说的直白一点。你不能从Linux中push Docker Image并且pull它到Windows machine来启动容器。这两个操作系统之间底层内核的差异使它很难让容器可移植。过去,微软试图将一个POSIX兼容UNIX子系统Services for Unix。但是,这不同。回到容器中,你无法使用微软容器模仿Package once deploy everywhere”。
2.微软有两种类型的容器Microsoft Windows Server 2016能够运行两种不同类型的容器Windows Containers 和 Hyper-V Containers.。为什么我们需要两种类型的容器?因为他们是专为多带带的用例和场景。Windows Server 2016技术预览版3仅仅支持Windows Containers。最终版本将包括两种。
3. Windows Containers是轻量级和极速的这种优势保留了容器的优势——速度、敏捷性和性能。这是一个已知的事实,容器比虚拟机启动快得多。这是因为它们共享底层操作系统的内核。微软为容器设计Windows Server 2016来支持共享内核模型。Windows Containers依赖操作系统共享服务。这个设计自然导致更轻、更快的容器。他们非常类似于Linux容器。Windows Containers提供低级隔离,这在一定程度上降低运行异构工作负载的安全性。
4. Hyper-V Containers使用虚拟化如果你认为因为隔离级别,Windows容器不太安全,那么您应该考虑Hyper-V Containers。他们不共享操作系统相同的内核,因而带来强壮的隔离级别,类似于虚拟化。在幕后,Hyper-V Containers使用VM在他们自己的namespace运行专用容器。这种架构导致更重的容器大小和更长的启动时间。所以,你还需要使用它们吗?如果你有敏感的工作负载需要更健壮的隔离和安全,Hyper-V Containers是最好的。在多租户环境中像公共云,他们提供最好的安全性和遵从性。
5. Docker Engine暴露两容器实现如果微软有自己的本地容器实现,Docker的作用是什么?
让我们仔细分析Docker的架构。
Docker作为一个平台有三个组件:
Docker Engine
Docker Tools
Docker Registry
Docker Engine在expose API过程中担当大任。DockerCLI是管理容器生命周期的工具链。Docker Registry是存储图像的中央位置。
微软和Docker密切合作从Windows Containers和Hyper-V Containers中提供相同的API。这就使得微软的容器和Docker的巨大生态系统彼此协作,命令行接口也移植到Windows。
命令行接口可以在Windows10和Windows Server 2016操作系统上获取。开发人员和管理员可以将客户端指向到一个运行的Docker Engine并且控制它。这意味着它可以从Windows10上管理运行在Red Hat服务器上的Linux容器。自微软决定让它的容器引擎兼容Docker Engine,相同的客户端被用来管理Windows Containers 以及Hyper-V Containers。从技术上讲,只要CLI能和远程引擎对接,它也可以从Ubuntu 或者 OS X上管理微软容器。
7. PowerShell Cmdlets能够和Microsoft Containers一起使用除了使用DockerCLI和工具,用户可以使用自己喜欢的PowerShell环境来自动化容器管理。微软已经带来一套Cmdlets处理方Windows 和Hyper-V Containers。这对本地工具和容器的集成有着重要作用。
8.Azure Service Fabric将编排Windows ContainersAzure Service Fabric是微软对于Kubernetes的对标。这是一个设计和部署微服务的平台。当多个同质容器管理和编排在一起,形成一个微服务应用程序。微软声称Service Fabric是Azure核心基础设施的基本技术。目前支持的服务包括Skype、InTune、Azure Data Factory、Azure DocumentDB。它在Azure SQL Database 和Bing Cortana上被用来管理超过140万客户数据库。开发者能够将他们的代码作为容器打包,将由Service Fabric编排。这种技术现在就可以在Windows和 Azure上获取但是将移植到Linux和其他云平台。
9. Kubernetes 和 Mesosphere可以在Azure上管理容器Service Fabric服务可能还处在早期,但这并不能阻止微软用户在Azure上使用编排工具Kubernetes和Mesosphere。因为自从Windows Containers, Hyper-V Containers提供相同的DockerAPI,这些工具就可以与微软容器协同工作。它可以混合、匹配Linux容器和Windows容器构建一个复合的微服务应用。Docker Swarm, Kubernetes, Mesosphere以及 CoreOS Fleet可能不区分容器。这对微软用户和Docker用户来说是双赢。
10.Azure不提供CaaS(至少到目前没有)微软落后于亚马逊和谷歌的一个主要领域就是容器托管服务或容器作为服务(CaaS)。亚马逊在上一届re:Invent上宣布EC2 Container Service (ECS),最近已经提供这种服务。谷歌将它专业的Kubernetes与Google Compute Engine结合提供Google Container Engine (GKE)。其他平台如Tutum 和Joyent 也提供CaaS等。微软也许是等待它的容器技术稳定之后才发布,当它准备好了,Azure云平台将成为第一个管理Linux和Windows容器的云平台。
本文由张鹏程编译整理
原文链接: http://blog.tenxcloud.com/?p=462
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/26474.html
摘要:导读边缘计算服务市场至年将增长到近亿美元。边缘计算的数据处理主要是实时完成的,而且一般只有少量数据经过网络被送到到中心云。边缘计算之赛也受到一系列技术因素的驱动。谷歌电信业解决方案总经理表示,边缘计算的成功不是靠一家公司。导读:边缘计算服务市场至2025年将增长到近160亿美元。无论结果如何,边缘之战将定义云的未来,这一点越来越明显了。亚马逊建立的全球电子商务帝国,可以将货物提供给大部分发达...
摘要:年月日,麻省理工科技评论发布了年岁以下科技创新人中国榜单,美团点评平台部中心负责人点评搜索智能中心负责人王仲远获评为远见者。这一次,王仲远依然拿到了很多顶级机构发出的。年,因为家庭方面的考虑,王仲远选择回国发展。 2019 年 1 月 21 日,《麻省理工科技评论》发布了 2018 年35 岁以下科技创新 35 人(35 Innovators Under 35)中国榜单,美团点评AI平...
摘要:在月日揭幕的阿里云峰会北京上,阿里云智能总裁张建锋花名行癫以十年再出发为主题发表了开场演讲,这也是他上任后的第一次公开对外亮相。这四大优势,也被称为阿里云战略加速的四级火箭。只有合作伙伴和客户成功,才是阿里云的成功。张建锋如是表示。对于许多传统行业而言,十年可能只是弹指一挥;但在日新月异的IT行业,十年时间足以沧海桑田。笔者至今还清楚地记得,不要说十年前,就是七年前还在报社的时候,为了寻找和...
阅读 2966·2021-09-10 10:50
阅读 3149·2019-08-30 14:19
阅读 3485·2019-08-29 17:31
阅读 3214·2019-08-29 16:43
阅读 2167·2019-08-29 14:05
阅读 2072·2019-08-29 13:17
阅读 2024·2019-08-26 13:25
阅读 1737·2019-08-26 12:20