首页 >知识讲堂 >网站建设知识>Amazon EC2的架构及与Google容器服务间的对比

Amazon EC2的架构及与Google容器服务间的对比

2020-12-30 14:55:42 阅读(180 评论(0)

一般来说,在一个集群中运行现代分布式应用的两个关键组件是:可靠的状态管理和灵活的调度。AmazoneCS简化了容器应用的构建和运行过程,但如何实现才是AmazoneCS真正有趣的地方。今天,我想讨论一下AmazonECS架构,并解释一下这个架构能做什么。以下是AmazonECS的基本组件图:如何协调?(Coordination)让我们来谈谈AmazonECS到底做了什么。集群管理器是AmazoneCS的核心,是处理集群协调和状态管理任务的后台服务。不同的调度器在集群管理器上。集群管理和容器调度是相互解耦的,所以Amazon支持客户使用和创建自己的调度器。集群实际上是应用程序可用的计算资源池。这里的资源池是CPUU,根据容器划分的AmazonEC2实例、内存和网络资源。AmazoneCS通过在集群中每个EC2实例中运行的容器代理来协调集群。代理允许AmazonECS与集群中的EC2实例进行通信,并根据用户或调度器的要求启动、终止和监控容器。代理使用Go语言编写,资源占用较少,目前在GitHub上基于Apache协议开源。欢迎您的贡献和反馈。为了协调集群,我们的集群需要SSOT[单一数据源]:集群中的EC2示例,EC2示例中运行的任务,以及构成任务的容器,可用/占用资源(如网络端口、内存、CPU等)。).在获取准确的集群状态信息之前,我们不可能成功地打开和终止容器。为解决这一问题,现代集群管理器的心脏是键值数据库,因为它需要存储在某个地方。该键值数据库对任何集群输入和存储的信息都显示为SSOT。为了保证可靠性和可扩展性,该键值数据库需要分布式,以保证耐久性和可用性,避免网络划分和硬件故障的影响。由于键值数据库是分布式的,因此更难确保数据的一致性和正确的并发修改,特别是在不断变化的环境(如容器的停止和启动)中。在这方面,为了确保多状态修改不会发生冲突,需要实施某些形式的并发控制。例如,假设两个开发人员从EC2实例中要求剩余的内存供他们的容器使用。此时,只有一个容器能够真正获得这些资源,而另一个则被告知该请求尚未完成。为了实现并发控制,我们使用Amazon分布式系统的核心原语之一来实现AmazonECS,这是一个基于Paxos事务日志的数据存储系统,它保存了每个数据变更的记录。在日志中,任何数据的写入都以事务的形式提交,并对应一个特定顺序的ID。当前数据的值是日志中记录的事务的总和。读取任何数据都只是日志当前时间点的快照。如果写作操作是自上次读取操作完成以来提交的最新事务,则判断写作操作成功。这个原语允许AmazoneCS以乐观锁的形式存储集群的状态信息,这是共享数据频繁变化的理想方式(例如,当需要表达ECS等计算资源共享池的状态时)。由于数据存储没有使用悲观锁(译者注:作者自己的表达非常模糊,因此amazonECS具有高可用性、低延迟和高吞吐量的特点。请参阅多个版本并发控制MVCC)。由于我们有一个关键数据库,我们可以成功地协调集群,并确保所需的容器正在运行,因为我们有一个可靠的方法来访问集群的状态。正如前面提到的,我们解耦了两个模块:集群管理和容器调度,因为我们希望客户能够充分利用AmazonECS状态管理的能力。AmazoneCS集群管理器已经通过一系列API打开,允许客户以结构化的方式访问存储在键数据库中的集群状态信息。通过列表命令,客户可以阅读托管集群、特定集群中运行的EC2实例、运行中的任务和组成任务的容器配置(如任务定义)。通过describe命令,客户可以在每个实例中获取EC2实例的具体信息和可用资源。最近,客户也可以在任何集群中启动和停止任务。最近,我们对AmazoneCS进行了一系列负载测试。我们希望分享一些性能要点。客户在AmazoneCS上创建应用时应注意它们。上图显示了负载测试的结果。在这次测试中,我们在AmazoneCS集群中添加和删除实例,并在72小时内调用“DescribeTask在API中,百分比排列在第50位和第99位。可以看出,虽然集群数量波动较大,但延迟相对没有抖动。无论你的集群有多大,AmazoneCS都可以按照你的需要进行扩展,而且根本不需要操作或扩展集群管理器。这组API是客户在AmazonECS上建立解决方案的基础。调度器只提供了关于何时、何地以及如何打开和停止容器的逻辑。AmazoneCS的架构是为共享集群状态而设计的,允许客户根据需要操作各种调度器(如二进制包装、发布等)。).该架构允许调度器查询集群的具体状态,并从通用池中分配资源。乐观并发控制允许调度器获得他们要求的资源,而不会发生冲突。一些客户在AmazoneCS上创建了各种有趣的解决方案,让我们分享一些具体的例子。Hailo——Hailo在弹性资源池上的定制调度是一款免费的移动应用程序,它允许人们向他们所在地的认证出租车问好。Hailo拥有全球网络,包括6万多名司机和100多万乘客。自2011年成立以来,Hailo一直使用AWS。在过去的几年里,Hailo从AWS单一区域运行的应用集合演变为贯穿多个区域的微服务架构。在此之前,每一个微服务都在静态划分的实例集群上运行。Hailo遇到的问题是跨分区资源利用率低。该架构不具有很强的可扩展性,Hailo也不希望其工程师关心基础设施的细节或微服务的部署。为此,Hailo决定根据服务优先级等操作指标对容器进行调度。后来他们选择了AmazonECS作为集群管理器,因为ECS可以轻松管理任务状态,访问API。同样,Hailo也可以根据自己的需要定制调度器。Remind——服务remind是一个web端和移动端应用程序,使教师能够向学生发送信息并与家长联系。Remind平台拥有24M用户和1.5M以上的教师。它每月发送150M条信息。Remind最初使用Heroku来运行整个应用程序设施,从新闻推送引擎,前后端API、Web客户端到聊天后台。其中大部分设施都部署在巨大的应用块中。随着用户的增长,Remind希望有横向扩展的能力。因此,大约在2014年底,其工程师团队开始探索迁移到基于容器的微服务架构。该团队希望建立一个基于AWS的PaaS,以确保它与Heroku的API兼容。一开始,团队希望有一个开源解决方案(例如,CoreOS和Kubernetes)负责集群管理和容器合作,但由于团队规模小,没有时间管理集群基础设施,确保高可用性。在对AmazoneCS进行简要评估后,团队决定在此服务的基础上建立PaaS。AmazoneCS是全托管的,这使得工程资源可以集中在开发和部署应用上;没有集群需要管理和扩展。6月,Remind开源了他们基于ECS的PaaS解决方案,称为“Empire”。凭借Empire,Remind获得了可观的性能提升(如延迟和稳定性)和安全优势。在接下来的几个月里,他们计划将90%以上的核心设施迁移到Empire。AmazonECS——以上只是我们从客户那里看到的两个用例。AmazonECS架构允许我们提供高可扩展性、高可用性和低延迟性的容器管理服务。通过API乐观并发访问共享集群状态的能力(译者注:乐观锁),用户可以根据需要创建任何定制的容器解决方案。我们一直致力于为客户消除重复而繁重的任务。通过AmazoneCS,根本不需要安装或操作集群管理程序,客户应该只专注于开发优秀的应用程序。Google容器引擎在Amazon和Google之间的容器竞争持续发酵(GKE)由pod、由replicationcontroler和节点组成。pod是一组特定应用程序逻辑主机模型的容器逻辑分组;replicationcontroller确保特定数量的pod副本始终在运行;节点是Google计算引擎虚拟机,它增强了容器环境。基于Google的GKEKubernetes容器编排平台。Kubernetes1.1版在1.0版首次亮相4个月后于11月24日发布。它是市场上第一个通过水平节点自动伸缩功能实现自动伸缩节点的产品。该功能深受用户追捧,为许多使用GKE的案例提供了有力支持。DescartesLabs公司的联合创始人和首席云架构师Timkelton说:“我们为许多类型的项目使用自动伸缩。”。该公司位于新墨西哥洲,是一家能够处理PB级卫星数据的机器学习初创公司。Kelton解释说,自动膨胀pod在处理大规模批处理作业时可以派上大用场。有时,他的公司需要将PB级数据扩展到3000个核心。在Kubernetes的第一个版本中,“这不是核心特征集的一部分,”他说。虽然GKE不支持垂直容器扩展或节点自动扩展,但根据GKE高级产品经理Davidaronchick,Davidaronchick也主导了Kubernetes产品管理,这些功能很快就实现了。AmazonEC2容器服务服务(ECS)由服务、任务和实例组成。服务是构成应用程序的任务组,实例是支持容器的弹性计算云虚拟机,与GKE中的节点非常相似。GoogleECS的自动膨胀能力与GKE相反:使用亚马逊CloudWatch和亚马逊网络服务Lamda可以实现服务的自动膨胀,实例也可以基于CloudWatchmetrics进行自动膨胀,但任务-相当于pod,属于粗糙逻辑,不能自动膨胀。尽管所有类型的自动缩放都很重要,但亚马逊用户希望在ECS中自动扩展任务。ACI信息技术集团副总裁Chrismoyer说:“运行一个新的例子意味着你必须有额外的容量来运行额外的任务,但这并不意味着任何新的任务都将启动。”。ACI,位于纽约,是一家基于Web内容聚合技术的公司,也是Techtarget的贡献者。“如果你只是一个自动膨胀的例子,它并不能真正帮助你解决额外的负载——你必须真正操作额外的任务来扩展。“在ECS开发过程中,亚马逊优先在同一集群中开发跨区域冗余,根据用户需求自动扩展冗余,本地跨越可用区域(AZs)ECS服务调度启动新任务时,也会尝试通过集群中的AZS自动平衡这些任务。Moyer说:“这很重要,因为一个AZ允许失败,所以如果两个任务都允许在同一个AZ中,很容易拖累你的服务。”。根据Aronchick的说法,Google可以在GKE中通过命令行接口。(CLI)跨多个区域。"跨区域很容易实现,两三个命令就可以完成",说Aronchick。然而,GKE用户最大的愿望是将跨区域功能改进到Web界面,包括跨区域集群扩展功能。Vendasta科技首席架构师DaleHopkins表示,Vendasta为媒体公司设计销售和营销软件,“实现用户界面需要大量的工作”。目前,用户界面支持集群创建和其他少数功能。Hopkins说:“扩大集群是不直观的。互操作ECS作为一个可扩展的平台,旨在融入客户现有的工作流,主要处理代表用户的集群状态。将ECS集成到现有的工作流中,以兼容客户使用的工具,如ApacheMesos,用于高级调度。亚马逊还自豪地声称,它拥有广泛的容器伙伴网络,为亚马逊ECS贡献新的特性,如监控、持续集成和安全。与此同时,谷歌已经与一批云容器合作伙伴合作,允许Kubernetes通过多个云供应商部署——这也是CLI目前的一个功能,Aronchick说。去年夏天Kubernetes1.0版发布时,Google引导CloudNative计算基金会成立,包括IBM、RedHat等云服务公司,以及ebay、Twitter等终端用户。“[附]Kubernetes,事实上,我可以在亚马逊和Azure上部署,

以上就是关于Amazon EC2的架构及与Google容器服务间的对比的相关介绍,更多Amazon EC2的架构及与Google容器服务间的对比相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对Amazon EC2的架构及与Google容器服务间的对比有更深的了解和认识。

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

PHP 是什么?

php开发端是什么?PHP开发框架背后的思想被称为“模型—视图—控制器”(MVC)。MVC是这样一种架构模式,它隔离了业务逻辑与UI,允许其一改变而另一者不受影响。(也可以说是关注点的隔离)在MVC中,模型负责数据,视图负责表现,控制器…查看详情

iphone手机浏览器历史删除找回在哪里

iPhone手机浏览器历史删除后,要找回已删除的历史记录可能会有些困难。以下是一些建议,但请注意,这些方法并不能保证能够完全找回已删除的历史记录。1. 检查“最近关闭的标签”:在Safari浏览器中,如果你不小心关闭了某个标签页,...查看详情

推特中文圈怎么注册 推特中文圈注册教程

  使用Twitter帐户作为品牌营销的一种手段开始变得非常流行,但是很多人都不知道推特中文圈怎么注册,下面万商云集小编给大家来介绍下推特中文圈注册教程。希望能帮助到大家。  步骤1:在Twitter上注册  进入入Twitter.com,...查看详情

商城网站建设

如何建设商城网站?一个网站离不开域名,程序和主机,域名和主机可以找服务商直接购买,比较费事的就是程序,要是有认识的人还可以帮忙做下,没有的话也可以选择市面上的模板型网站,只需要会简单的图片处理编辑下文字内容就行也比较简单网站建设一个商城网站...查看详情

小程序如何推广运营 小程序怎么做推广

  最近几年小程序营销是非常的火热的,很多的企业公司都在做小程序营销推广,下面万商云集小编就给大家详细介绍下小程序的营销推广方法。小程序推广,常用十二种方法,你用过几种方法  第一种,用名称强排名  也许很多人还…查看详情

网店装修素材主要包含有哪些?

个性化店铺素材是什么?个性化店铺素材是指针对电商店铺的特定主题和定位,为提升店铺的可视性和品牌形象,所准备的一系列与主题相关的视觉和语言元素。个性化店铺素材主要包括店铺头图、背景图片、品牌标志、产品图片、美工设计、…查看详情

房屋平面设计软件有哪些 简单好用的房屋平面设计软件

现在买房子的人特别多,买了房子之后需要大家考虑装修的事情,那么,一般都会找正规的公司去装修,因为公司装修之前会先给我们做一个效果图看一看,满意了就会开工,房屋平面设计软件有什么?1、我要装修是一款特别实用的手机装修a…查看详情

工商注册需要准备什么材料?(2022年新政策)

  工商注册类型有哪些工商注册类型是根据注册的类型而选择注册类型的不同,很多人对这一块都不是很清楚,而且现在工商注册还是有很多的材料需要的,下面小编就给大家来详细介绍一下。  工商注册需要准备什么材料  工商登记…查看详情

第三方平台非自营业务的结算管理软件系统模块

通常情况下用到结算管理软件是针对ToB的订单结算,而不是C端的订单结算。因为B端业务范围、订单体量和部门职能都有差别,所以结算管理软件根据企业的具体情况,在系统功能、复杂程度和系统业务方面都有所不同。下面我们就来具体分析…查看详情

常见的数据库类型有哪些?什么是数据库

  其实,在我的日常生产中,数据库和我们也是息息相关的,当我们打电话、上网、去银行交易等等,都要访问不同的数据库,这些数据库各有自己的特点,可能很多人对这些数据库不是很熟悉,下面万商云集小编就给大家来详细介绍一下…查看详情

网站建设哪家好,怎么选择建站公司?

企业如果想要做一个网站的话,没有相关的技术人员就涉及到了选择建站公司的问题,而目前各种规模的建站公司非常多,其中在技术方面也会有一定的差异,甚至有些公司是不靠谱的,因此需要慎重的选择,那么网站建设哪家好呢?怎么选…查看详情

关于建设一个网站的具体步骤分析

随着信息化的不断发展,网站逐渐成为了互联网之间不可或缺的搭建信息桥梁的平台,许多信息来源于特定的网站,这些网站通过浏览而增加知名度,那么既然网站如此重要,应该如何建立网站呢,以下就是关于建立一个网站的基本步骤分析…查看详情

学程序员大概要多少钱

学编程一年大概多少钱?学费一般在15000到20000之间,好的编程培训机构,它的规模都比较大,口碑也都是比较不错的。大家可以深度了解机构的口碑情况和规模后,问问周围知道这家机构的人,除了口碑和规模外,其他诸如师资、课程、就业、…查看详情

国美商城网上店铺怎么开?

在家开网店的详细步骤?开网店的详细步骤包括:1.选择并注册一个品牌名称。2.选择要销售的产品类别。3.准备好产品图片、价格信息和购买须知。4.搭建一个完整的电子商务网站或者使用市场上的电子商务解决方案。5.选择支付方式,如PayPal、…查看详情

企业网站建设资讯:如何卸下传统标签,重获企业生机

坚持传统模式盈利困难,转型互联网难上加难。这可能是大多数中小企业正面临的现实难题。 互联网对行业的冲击已持续多年,仍有很多企业并没有做出多少改变。道理大家都懂,可实现的成本和难度都是挑战,要从思维和根深蒂固的运…查看详情

首页

产品

万商学院

客户服务

会员中心

当前站点

h

选择站点

全国站成都

一 客户顾问-张三

已为0个客户提供专业互联网服务咨询
  • 手机号码
  • 验证码图形验证码换一张
  • 短信校验码

    电话咨询

    在线咨询