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

企业首选的

数字选用平台

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

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

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

推荐阅读

一般网站建设:关于它的价格构成和制作周期

在互联网中搜索网站建设价格、制作时间,往往很难找到我们想要的答案。因为无论是一般网站建设,还是大型网站建设,它的价格和制作周期都需要在确定解决方案后才能给出一个具体报价和完成时间。 图片来源于网络 但虽然无法直接给出具体报价和完成时间,但可…查看详情

uefi是什么意思啊

UEFI是什么意思?UEFI是一种新的主板引导初始化的标注设置,相对于BIOS来说的,以前的u盘引导都是针对bios的,没法在uefi主板上引导uefi的文件到PE里,也有的pe把这个精简了。 UEFI全称“统一的可扩展固件接口”(U…查看详情

2022免费交友软件app前十名

  截至2022年,AppStore婚恋交友免费下载榜前十,分别为Soul、他趣、陌陌、探探、珍爱网、伊对、世纪佳缘、百合网、牵手、觅伊。下面万商云集小编就给大家详细介绍下关于2022免费交友软件app前十名的相关内容,  。  觅伊,20…查看详情

免费和收费的美发收银软件哪个好用?

随着大家的生活水平提高,大家对于自己的头发美容要求越来越在意,这期间就有了美发店的发展。许多美发店的发展前景是非常好的,生意很兴隆,那么问题来了很多美容店由于生意太好,有很多商家在选择收银软件的时候不知道哪个好,收银软件也存在免费和收费之分…查看详情

个人商标申请注册需要花费解析

个人能不能注册商标?答案是肯定的。个人名义注册商标在日常生活中不是很常见,所以大众的认知产生了一定的误解。那么个人商标申请注册贵吗?个人商标申请注册需要多少钱?图片来源于网络申请注册商标的本身费用其实并不会,但是如果个人寻找代理商标机构的话…查看详情

选择靠谱的旅行网站,还是要看旅行网站排名

如果人们想要出去旅行的话,那么必然是要涉及到一些酒店的订购,车票的购买,但是如果没有寻找到一个靠谱的旅行网站订购的话,很有可能会导致自己功亏一篑,具体可以了解以下旅行网站排名。 1、携程网 他是一个发达的服务联络中心,它可…查看详情

微信公众号怎么转让 微信企业公众号转让流程

  微信公众账号是个人或企业信息展示、信息发布、在线沟通、产品展示、个人特长展示、企业文化传播的平台,也是实现自我价值的平台,但是经常会有很多公众号之前的转让,下面小编就带大家来详细看一下微信公众号怎么转让 微信企业公众号转让流程这一块…查看详情

出行软件十大排行 日常出行软件排名

  滴滴被揭露违规以后,大量的用户开始寻找其他打车的平台,下面万商云集小编就给大家整理了日常出行软件排名,希望能帮助到你。  01百度/高德地图  如果不想再安装APP占内存的,可以直接用地图软件打车,像我用的百度地图,每次打车都送我一堆券…查看详情

靠谱的股份转让系统有哪些?安全是股份转让的关键

在股票市场上经常会遇到股权转让或股份转让的情况,由于这是一个较为复杂的过程,为了能够节约转让操作时间,并更好的在股份转让过程中进行风险控制、做到合理合法,往往需要借助一些专业的股份转让系统与软件。那么靠谱的股份转让系统有哪些?今…查看详情

手机刷机软件有哪些 手机刷机软件排行榜

  相信很多小伙伴平时都很少刷机,但是有的时候刷机也算是必备的一个技能,下面小编就给大家来详细介绍一下手机刷机软件有哪些 手机刷机软件排行榜这一块的相关内容。希望能帮助到大家。  手机刷机软件排行榜  1.线刷宝  是一款安卓手机智能线…查看详情

网上企业注册经营范围怎么写

  网上申请营业执照营业范围怎么填?  营业执照的经营范围可以填写如下14类:  1、互联网科技  网络通信科技产品领域内的技术开发、技术咨询、技术转让、技术服务,计算机网络工程,计算机软件开发及维护,计算机辅助设备的安装及维修,电子产品的…查看详情

图片转文字APP免费哪个好?试试这几款

如果在工作或者是学习中,需要进行图片转文字的操作,那么不妨利用一些好用的APP软件,这些软件通常都是免费使用的,也可以提升工作和学习的效率,快速的完成文字的转变。那么图片转文字APP免费哪个好呢?试试这几款吧。 1、开心图…查看详情

看书软件哪个好 2022好用免费的看书软件

  现在越来越多的人都比较喜欢读书,随着社会和互联网的快速发展,移动读书趋势越来越明显,在手机上就可以实现随时i读书,下面万商云集小编为大家整理了几款好用免费的看书软件,希望大家喜欢。1、藏书馆  藏书馆是一个通过借阅形式读书的APP,你随…查看详情

听歌软件哪款比较推荐?这几款听歌软件是不错的选择

相信很多人都特别喜欢听歌,尤其是在平时空闲的时间时听歌,不仅可以打发时间,而且还可以陶冶情操,在听歌的时候一般都会选择比较好的听歌软件,其实现在的听歌软件比较多,找到一款好的听歌软件也非常重要,那么听歌软件哪款比较推荐呢?下面就…查看详情

永久免费正版cad软件有哪些?

永久免费正版cad类软件有哪些呢?它们可以用来绘制,二维制图和基本的三维设计等功能,在电子,建筑,机械,等多个领域明显广泛应用,下面我来为大家分享几个好用的软件。1.GstarCAD最新版是目前国内非常著名的国产CAD软件,这款软件功能非常…查看详情

最新文章