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

企业首选的

数字选用平台

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

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

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

推荐阅读

5款热门手机监控软件盘点,照看老人监控超方便!

目前国内的人口老龄化问题不断加剧,而年轻群体不断向大城市涌入,对于很多人来说家里的老人可能都是在老家生活,而子女又不能在身边陪伴,如果出现一些紧急情况又无法及时处理怎么办?很多年轻人选择通过手机监控的方式来时刻查看家里老人的动态,避免一些危…查看详情

看泰剧用什么软件呢?这些软件为大家推荐

在闲暇的时候,很多人都比较喜欢看泰剧,但是如果没有选对软件的话,可能也会受到限制。其实大家不妨选择,针对于看泰剧所使用的软件,这样能够让大家轻松的找到自己喜欢的泰剧,那么看泰剧用什么软件呢?这这些软件为大家推荐,一起来了解吧。 …查看详情

误删微信好友怎么恢复?

苹果手机微信删除了的好友怎么恢复?登入微信。在微信主界面底部点击“微信”。所有的聊天记录都在,里面包含了与好友的聊天记录列表。 点击一个好友,打开对应的备份文件夹,正常都是一堆数字和字母组成文件名的文件夹。进入后,找到“voice”文件夹…查看详情

域名停放是什么意思

  域名停放是指将未使用或暂时没有使用的域名(即没有网站或网站不可访问)指向一个有广告或推广信息的网站,以便通过这些广告或推广信息来获得收益。这种方式被称为“域名停放”或“域名占用”。  通常,域名停放是由域名注册商或域名交易平台提供的一项…查看详情

出纳用什么财务软件比较好?

每个公司在招聘职位的时候都是有出纳这个职位的,出纳主要管的是公司的一些财务问题,包括员工的工资或者是员工的罚款问题,都是管的,那么出纳用什么财务软件比较好呢,这个大家是需要提前了解到的。 1、柠檬云财税 是一款功能完善的免费…查看详情

微信电商小程序开发 | 它的配套组成部分以及价格

微信电商小程序开发怎么做?有哪些组成部分?各价格是多少?想必这是大多有微信电商小程序开发需求的企业都尤为关注的问题。图片来源于网络 微信电商小程序开发配套组成部分及价格:◤ 1. 域名我们在小程序中看到的商品图片,都需要通过在后台操作进行…查看详情

plm系统功能介绍,国内知名plm厂商对比

信息化时代,信息化企业管理越来越受到企业决策者的重视,PLM系统的实施和部署在整个信息化管理流程中占非常重要的地位,本文总结了一些plm系统功能介绍和部分国内知名plm厂商对比分析干货,有需求的朋友可收藏。 什么是plm系统? PLM的英文…查看详情

桂林十大特产是什么

  桂林是中国的旅游胜地,在这里不仅有美丽的山水风景,还有丰富的文化底蕴和美味的当地特色美食。桂林的特产不仅种类繁多,而且口味独特,深受游客和当地人的喜爱。以下是桂林十大特产的详细描述,希望能为大家带来一些帮助。  1.桂林米粉  桂林米粉…查看详情

电商网络推广怎么做?电商维持蓄客的最佳手段

网络是伴随着信息技术的发展而发展的。网络技术的发展和应用改变了经济体系中信息的分配和接受方式,改变了人生活、工作、学习、合作和交流的环境。然而络营销作为新的营销方式和营销手段实现企业营销目标。所以电商网络推广是非常重要的,电商网络推广怎么做…查看详情

tm和r商标的区别是什么?tm和r商标有什么区别?

在注册商标的时候会出现两种,一种是tm,一种是r商标。不懂的人可能就不知道这两者之间的区别。如果想要更好的注册商标,那么这两者之间的区别是一定要知道的,那么tm和r商标的区别是什么呢?下面就来详细的了解一下这个问题。1、含义不一样tm的商标…查看详情

免费派单系统大全,派单系统平台怎么选?

全球经济在疫情的笼罩下受阻,线上需求与日俱增,不难看出其不小的潜力。随着后疫情时代的到来,线下传统行业逐步升温,消费需求迅速释放,派单系统的需求量逐渐递增,派单系统平台怎么选?这份免费派单系统大全一定能对你有所帮助。 1. 销售易免费派单系…查看详情

图片编辑软件哪些比较好用?好用的图片编辑软件推荐

很多人都特别喜欢拍照或者是收藏一些比较好看的图片,但是有些图片可能清晰度不够或者是图片的上面会有水印,这个时候就需要进行图片编辑。其实想要打造出更理想的图片效果,可以选择到比较好用的图片编辑软件,但是图片编辑软件比较多,很多人都…查看详情

笔记本软件如何选?推荐这几款

现在的人们,已经慢慢的放弃使用纸质的笔记本了,更多的开始选择一些笔记本软件,来记录事情,或者是写各种学习的笔记和工作的笔记等等,但是在选择笔记本软件的时候,一定要注意根据自己的需求,那么笔记本软件如何选择呢?推荐这几款,一起来了…查看详情

无货源网店真的能赚钱吗

  无货源网店指的是在不需要购买和存储自己的产品的前提下,通过自建网店进行产品销售的模式。这种模式的出现,在一定程度上解决了传统实体店经营所面临的资金压力和库存管理等难题,大大降低了创业门槛,吸引了越来越多的创业者。但是,在无货源网店中真的…查看详情

哪儿可以注册商标?这些知识你要了解

哪儿可以注册商标?近期,商标时不时爆出大新闻,许多之前不曾了解商标的企业、个人都开始关注起来商标了,也开始明白了对企业而言,商标十分重要。它是企业打造品牌的基础,也是企业产品的一个保障。许多企业、个人也会开始好奇道,商标如何注册呢?商标在哪…查看详情

最新文章