服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

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

2020-12-30 14:55:42 阅读(162 评论(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上部署,

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

推荐阅读

电商平台代运营要有6个规划,才叫专业,才能选择它

社会发展、互联网发展,迎来的是人们生活方式的改变,企业经营模式的改变。个人在开网店、商家在开网店、企业在开网店,网店数量一直在增加,与此同时电商平台代运营公司也在急速增加。 图片来源于网络 电商平台代运营公司的出现,是为了帮助开网店的个人、…查看详情

优质营销短信:格式规范、商业化、时间化

短信营销是当下宣传效果比较好、成本较低的一种推广方式,同时也受到很多中小型的青睐。优质营销短信不仅切合流量发展的大市场方向,为企业和消费者层面创造更好的体验。企业通过不断对短信内容进行解析升级,创造出优质营销短信,让用户一目了然,部分情景增…查看详情

微信小程序申请步骤

  如何注册申请微信小程序?  1、微信小程序注册在微信公众平台官网首页,按照提示点击右上角的“立即注册”按钮,里面总过有12步,按照要求提交就可以了。  2、小程序申请微信认证政府、媒体、其他组织类型帐号,必须通过微信认证验证主体身份。企…查看详情

ug是什么软件

UG是用来干什么的?UG软件主要功能是将原有2维平面制图拓展至三维立体制图的软件,主要是迅速帮助设计加工等人员认知产品结构,还可向下生成2维图纸并标注细节尺寸、表面要求、技术要求等。相同类型软件有pro/E,solidworks,CATIA…查看详情

文件恢复软件哪个靠谱呢?你选对了吗?

现在的人们通常都会使用手机或者是电脑去办公,但难免会出现误删的情况,让自己的辛苦付之东流。其实文件丢失了不用担心,可以通过文件恢复软件来成功找回,但作为电脑的菜鸟,怎样选择合适的软件,就成为了人们较为关注的问题,那么文件恢复软件…查看详情

2022年免费有效的推广平台有哪些

  最近几年对于企业做推广来说难度是越来越大,下面万商云集小编就给大家来推荐下2022年免费有效的推广平台有哪些,希望能帮助到大家。  那曾经有哪些属于红利期的营销玩法和渠道?读完这篇文章你能了解到:  1、互联网营销该怎么做?  2、怎么…查看详情

谷歌镜像是什么意思?有什么作用?

  谷歌镜像(Google Mirror)是指对谷歌搜索引擎的镜像站点,也就是把原来的谷歌网站内容(包括搜索结果、谷歌应用程序等)做了一个完全的备份,用户可以通过访问谷歌镜像站点来获取Google搜索结果或使用Google的其他应用程序。…查看详情

注册商标能一样吗?可在不同类别注册相同商标

在这个商标注册成功一天比一天难的今天,在这个最容易因商标相似或相同而被驳回的今天,注册商标能一样吗?答案是,能。具体为什么可以参考《商标法》中的规定。 图片来源于网络 注册商标能一样吗?我国《商标法》规定:同他人在同一种商品或者类似商品上已…查看详情

微信公众号怎么开通 微信公众号开通方法

现在微信公众号也成为了很多企业引流推广营销的一个阵营,但是对于新手来说微信公众号都不知道怎么注册,下面万商云集小编就给大家来介绍下信公众号开通方法。 第一步:4步完成微信公众号怎么创建  1、打开网页搜索并登录微信公众号平台,在页面的右上方…查看详情

电商运营是做什么的

  电商运营是指运用互联网技术和电子商务手段,对电商平台进行全方位的规划、管理和运营,以达到促进销售、提升用户体验、增强品牌影响力、实现商业目标的目的。电商运营是电商企业成功的重要因素之一,它直接关系到电商企业的经营状况和生存发展。  如何…查看详情

跨境电商自建站平台有哪些

如果企业想要得到更好的推广,那么建设网站就是首选。每一家企业所销售的产品是不一样的,有些企业是属于跨境电商,那么在进行网站建设的时候,就应该要注意选择一些比较不错的自建站平台。那么跨境电商自建站平台有哪些呢?这个问题一定是很多的…查看详情

全球范围内好用的个人管理软件详情介绍

在中国,我们更多地接触个人时间管理软件或库存软件。然而,很少有用户知道个人信息管理软件。个人信息管理软件的英文名称是pe1onalinformatiomanagement(个人信息管理),简称PIM,它用于管理我们日常生活中的许…查看详情

初级会计刷题软件哪个比较好?冬奥会计云课堂好用吗?

根据网上数据显示和综合个人的经历。我比较推荐东奥“会计云课堂”,一款集资讯、学习、商城为一体的移动学习应用产品,给各位考生更优质的课程体验和服务。初级会计刷题软件哪个比较好?备受关注的冬奥会计云课堂好用吗? 冬奥会计云课堂的功能? 有三种形…查看详情

视频去马赛克软件有哪些 好用的视频去马赛克软件

现在属于自媒体时代,很多的小伙伴也选择自媒体创业,这个时候视频处理就是很麻烦的事情了,很多的视频会带上马赛克的,下面万商云集小编给大家来详细介绍一下视频去马赛克软件有哪些 好用的视频去马赛克软件这一块的内容。希望能帮助到大家,。  1.完美…查看详情

矿泉水品牌有哪些 2022矿泉水品牌排名

  随着中国经济社会的发展,人们生活水平的提高,人们消费的品牌意识越来越强。重视品牌,反映了消费者生活理念的转变。同质同价的矿泉水,消费者更青睐品牌产品。那么国内知名常见的饮用矿泉水中,下面万商云集小编给大家来详细介绍一下矿泉水品牌有哪些 …查看详情

最新文章