当前位置:云计算行业动态 → 正文

选择合适的云容器平台

责任编辑:jackye 作者:CC编译 |来源:企业网D1Net  2017-09-14 09:49:10 本文摘自:机房360

当今Google技术市场的云容器服务竞争加剧,谷歌,亚马逊与微软Azure正在为开发他们的服务而努力,从而能够更好、更快的适应市场。

这篇文章通过对3种不同的云容器平台进行深入比较,让读者了解到哪一种平台适合您的企业发展。

Docker Linux云容器中最重要的竞争对手仍然是亚马逊和谷歌,由于微软Azure加入,他们的竞争正在如火如荼的进行着。

亚马逊网络服务和Google正积极开发云端容器服务,从而更好的适应企业应用开发业务。

这些公司的云容器服务于Docker容器管理能够远离用户,从而更容易部署和扩展其上构建的应用程序。 然而,他们在彼此的产品之间仍存重大差异,包括每个产品都选择实现自动缩放,冗余和与第三方工具和云的互操作性。

自动缩放是竞争的主要关键点

Google容器引擎(GKE)由pod,复制控制器和节点组成。 Pods是对应用程序特定的逻辑主机建模的容器的逻辑分组。 复制控制器确保任意一个时间运行特定数量的pod副本。 节点是支持容器化环境的Google Compute Engine虚拟机。

GKE基于Google的Kubernetes云容器业务流程平台。 Kubernetes 1.1版,11月24日发布,1.0个月后首次亮相,是市场上第一个使用水平pod自动缩放功能自动调整pod的功能,这是用户非常寻求为GKE多种用例提供理由的功能。

笛卡尔实验室公司的共同创始人兼云架构负责人Tim Kelton说,“我们对所有类型的项目都进行了自动缩放,这是一家位于美国马萨诸塞州洛斯阿拉莫斯市的机器学习公司,负责处理PB级卫星数据。

(备注:“TB是一个计算机存储容量的单位,它等于2的40次方,或者接近一万亿个字节(即,一千千兆字节)。”

一提到数据量级,人们通常会联想到美国国会图书馆(见图)。德勤、麦肯锡、IBM、Gartner和移动广告公司Adfonic的数据专家向TechTarget记者介绍了PB级数据究竟有多大。

麦肯锡首席分析师Michael Chui指出,美国国会图书馆“在2011年4月前已经收集了235TB的数据,而一个PB相当于它的4倍。”

TechTarget自己的百科网站Whatis有关于PB大小的定义:“PB是数据存储容量的单位,它等于2的50次方个字节,或者在数值上大约等于1000个TB。”

未来学家Raymond Kurzweil他的论文中对PB的定义进行延伸:人类功能记忆的容量预计在1.25个TB。这意味着,800个人类记忆才相当于1个PB。

如果这样还不够清楚,那么Adfonic的CTO Wes Biggs给出了下面更直接的计算:

假设手机播放MP3的编码速度为平均每分钟1MB,而1首歌曲的平均时长为4分钟,那么1PB歌曲可以连续播放2000年。

如果智能手机相机拍摄相片的平均大小为3MB,打印照片的平均大小为8.5英寸,那么总共1PB的照片的并排排列长度就达到48000英里——大约可以环绕地球2周。

1PB足够存储整个美国人口的DNA,而且还能再克隆2倍。)

Kelton解释说,自动缩放可以派上用场。 有时,他的公司处理了一百PB的数据,这需要扩展到3万个内核。 他在Kubernetes的第一个版本 - 这是由GKE不久之后加入的 - “这不是核心功能集的一部分,”他说。 GKE的高级产品经理David Aronchick表示,GKE不支持垂直容器扩展或节点自动缩放,但是这些功能即将推出,他还负责Kubernetes的产品管理。

同时,亚马逊的EC2云容器服务(ECS)由服务,任务和实例组成。 服务是构成应用程序的任务组,而实例则是支持容器的弹性计算云虚拟机,非常像GKE中的节点。

Amazon ECS的自动缩放功能与GKE的功能相反:服务可以使用Amazon CloudWatch和Amazon Web Services(AWS)Lambda进行自动缩放,实例也可以基于CloudWatch指标进行自动缩放,相当于pods - 不能自动缩放。

虽然所有类型的自动缩放都很重要,但是Amazon用户希望将自动缩放功能添加到ECS中。一个Web内容聚合器ACI信息组技术副总裁Chris Moyer说:“旋转一个额外的实例意味着您有额外的能力来运行其他任务,但并不意味着任何新的任务将被转移。

“如果你只是在自动缩放你的实例,它并没有真正的帮助你处理额外的负荷——你必须把额外的任务放大来扩展。”

跨越区域的冗余

在开发ECS时,亚马逊优先考虑在同一集群中本地跨越可用性区域(AZ)的能力,以便根据客户需求对任务自动缩放进行冗余。 当ECS服务调度程序启动新任务时,它还会尝试在集群中的AZ之间自动平衡。

“这很重要,因为单个AZ可以失败,所以如果两个任务都在同一个AZ,那可以轻松地取消你的服务,”Moyer说。

根据Google的Aronchick,Google可以通过命令行界面(CLI)跨越GKE的多个区域。

“真的很容易 – 只需两三个命令,”他说。然而,这涉及到GKE客户最大的愿望清单项:Web UI的改进,包括跨区域扩展集群。

Vendasta Technologies在Saskatoon Sask的首席架构师Dale Hopkins表示:“UI需要大量的工作,该公司为媒体公司建立销售和营销软件。 霍普金斯说,UI目前允许集群创建和更多。 “如何扩展集群是非直观的。”

互通性

ECS被构建为一个可扩展平台,旨在被放置在客户现有的工作流程中,主要用于代表用户处理集群状态。 与现有工作流程的集成的一部分适用于客户已经使用的工具,例如用于高级调度的Apache Mesos。 亚马逊还拥有广泛的云容器合作伙伴网络,向亚马逊ECS提供诸如监控,持续集成和安全性等功能。

据Aronchick介绍,Google同时建立了一个云容器合作伙伴联盟,使得Kubernetes能够跨多个云提供商部署 - 而且也是今天的CLI功能。 当Kubernetes 1.0去年夏天发布时,Google领导了Cloud Native Computing Foundation的创建。 基金会成员包括企业云服务公司,如IBM和红帽,以及最终用户Box,eBay和Twitter。

笛卡尔的Kelton说:“有了Kubernetes,我实际上可以在Amazon上部署,我可以部署在Azure上,我可以部署在IBM上,我可以部署在我自己的物理硬件上。 “这很有吸引力,因为我们有选择。” Google还有一个开源项目,每个月有数百个提交者和数千个提交,允许Kubernetes快速添加新的功能,如水平pod自动缩放。

451研究公司的分析师杰·莱曼(Jay Lyman)说:“Google是Kubernetes的创始者,Google对此做得非常好,扩大了该社区的发展。

根据创始人约翰·德埃斯波西托(John D'Esposito),一家总部位于纽约的一家咨询大型企业IT项目的公司计划在两个新项目中使用ECS。 “促使我们使用ECS [包括]与现有的经过验证的基础设施服务(如弹性负载平衡,虚拟私有云,身份和访问管理以及弹性块存储)的无缝集成的主要优点。

GKE和Compute Engine定价也非常吸引客户。 除了以10分钟的增量为基础的虚拟机资源收费,GKE还免费提供了Kubernetes主机,这特别适用于Vendasta的Hopkins。 他说:“我没有为Kubernetes付出代价,直到我进入大量的机器--GKE为第一套机器免费提供了Kubernetes的主人,”他说。

在推出Kubernetes和容器引擎之前,霍普金斯和凯尔顿都已经使用Google云服务,包括Google App Engine。 因此,数据重力也起到了他们选择部署云服务器服务的作用。

Kelton说:“我们的大部分数据都是在PB级,所以你不能只是移动它们或复制它们,所以你必须将数据移动到数据旁边。 大部分数据目前都存在于Google Cloud Platform中,尽管笛卡尔与AWS的合作伙伴合作。

Microsoft Azure云容器服务准备就绪

尽管Google和AWS在云端容器战争中处于领先地位,但亚马逊最为关键的竞争对手仍然是微软Azure,它拥有自己的基于Linux的云端容器服务,预计将有限,以及今年将推出的新版本的Windows Server 支持基于Windows的容器。 “我们大多数客户都是在Azure或亚马逊,”马萨诸塞州罗彻斯特HKM咨询公司的创始合伙人克里斯·莱利(Chris Riley)说,“微软有一些有趣的工具正在开发中。 如果我们来看一个次要的,那可能是Google之前的Azure。“

与许多微软产品一样,简单易用的使用是设计的重点,根据Kristian Nese的说法,他是挪威的微软Azure系统集成商。

Nese说:“当我们今天部署Azure云容器服务时,它的代码是100行。”“一旦部署了Azure容器服务,就可以部署23个资源。如果您手动执行这个操作,它很可能会导致数千行代码。”

Azure容器服务还在工作中以独立服务的形式进行了自动缩放,这一服务也在预览中被称为VM Scale集。Nese还说,Azure还将提供一些现有的、熟悉的工具来管理容器,比如Azure资源管理器。评估Azure容器服务与Google和AWS的对比

David Linthicum、云技术合作伙伴AWS、谷歌和Azure都提供了自己的云容器服务。尽管它们各有优缺点,但对您来说最好的服务取决于您的应用程序需求。

随着越来越多的组织使用容器技术来部署云应用程序,看起来容器和云将会加入到更时髦的环境中。因此,三大云服务提供商——亚马逊网络服务、微软Azure和谷歌——在市场上拥有自己的容器服务也就不足为奇了。然而,这些服务并不是生来平等的。

出于本文的目的,云技术合作伙伴,一家位于波士顿的云计算咨询公司,对Amazon Web Services(AWS)、Google和Azure容器服务进行了内部审查,对技术进行了轮询咨询,并检查了用例。在评估或使用基于云的容器服务时,该公司考虑了几个重要的特性,包括数据管理、可伸缩性、性能、安全性、DevOps和与管理和操作的集成(如表1所示),使用的是开发和操作——简而言之,企业对此该做些什么?

对于1-5级,1是最低分,5是最高。 指定为1意味着该技术根本不支持该类别,而5则表示该技术满足该类别的大部分功能和功能要求。 我们研究DevOps类别的一个要求是容器子系统支持DevOps操作或提供集成存储库的能力。 对于评估Google,AWS或Azure容器服务的企业,本文提供了一些基础知识。 企业如何应用,将最终将推动您的最终产品发展方向。

集成和数据考虑

Azure容器服务(ACS)基于Apache Mesos,这是一个开源的容器编排系统。 这意味着考虑到ACS之前的功能和功能,可以对ACS的特性和功能做出一些很好的假设。 目前尚不普遍可用的ACS是上述三个容器服务中最新的。 随着我们在Microsoft容器产品上提供更多的数据点,将会有很大的变化。

使用AWS EC2容器服务(ECS),我们看到一些操作问题,例如无法以细粒度的级别监控容器。当考虑ECS与管理和运营的集成时,应该与任何AWS产品一样强大,我们必须将其降低到4分,相对于Google容器引擎(GKE)5分。然而,ECS确实包含了CloudWatch集成,与ACS相比,它可以使其更加稳定。此外,此时,ACS仅支持Linux容器。虽然Windows的支持即将到来,随着Microsoft端口Mesos的过去,.NET开发人员现在已经落后于曲线。在数据方面,所有这些服务都提供本机数据连接,而不会强制使用外部API,但还有改进的余地。一个问题是他们将绑定容器与本地数据服务,而不提供开放的数据访问,这增强了可移植性。如果数据与容器紧密耦合,则难以创建便携式容器。这是我们现在关注的一个新兴领域。

AWS,Google和Azure容器安全

在考虑安全性时,我们发现Google的服务通过其Kubernetes容器业务流程系统,具有“秘密”功能和其他两项服务缺乏的额外资源限制。 因此,GKE获得了更高的安全排名。 请记住,Microsoft也使用Kubernetes,但是以不同的方式。 大部分技术本身都是从用户中抽象出来的。

然而,当查看主机平台或容器服务所在的公共云平台时,有趣的是,Google平台在安全性方面,在某些方面不如AWS或Azure。 虽然Google可以使用第三方身份访问管理(IAM)工具,但它缺乏本地IAM支持。 虽然这并没有影响到表中列出的排名,但是随着任何这些平台的前进,这是值得考虑的。

DevOps的可扩展性

对于DevOps,GKE和Amazon ECS现在有自己的注册中心,但是Azure容器服务却没有。Google和AWS在考虑各自云中的容器服务时,提供了更好的DevOps集成。

可扩展性与您的应用程序的需求相关,因此我们根据其提供的机制(如Mesos)以及我们在项目中看到的一些用例做出假设。 当您查看这些技术来托管和执行容器时,您可以使用相同的方法。 例如,使用Mesos的ACS应提供公平的可扩展性,但不如GKE提供更好的集群功能。

众所周知,亚马逊ECS提供优质的可扩展性,主要由AWS为其容器引擎提供的高度可扩展的平台功能驱动。

总而言之,由于Google与其自己的Kubernetes容器集成紧密集成,以及Google的开发和运营支持,Google的产品总体上更为先进。 不过,Google并不是那么远,AWS和微软不能快速赶上。 考虑到AWS在市场上的担心,它可能会在不久的将来提供更好的容器技术。

关键字:谷歌 Google 容器

本文摘自:机房360

选择合适的云容器平台 扫一扫
分享本文到朋友圈

关于我们联系我们版权声明友情链接广告服务会员服务投稿中心招贤纳士

企业网版权所有©2010-2017 京ICP备09108050号-6

^