18720358503 在线客服 人才招聘 返回顶部
企业动态 技术分享 行业动态

研究Amazon EC2的构架及与Google器皿服务间的比照

2021-02-21分享 "> 对不起,没有下一图集了!">

1般来讲,在1个群集中运作当代化遍布式运用的两个重要组件是:靠谱的情况管理方法和灵便的生产调度。Amazon ECS简化了搭建和运作器皿化运用的步骤,可是怎样完成才是Amazon ECS真实成心思的地区。今日,我要想讨论Amazon ECS构架并论述这个构架可以做些甚么。以下是Amazon ECS的基础组件图:


大家怎样融洽(Coordination)群集

让大家来谈谈Amazon ECS究竟做了甚么。Amazon ECS的关键是群集管理方法器,它是1个后台管理服务,可以解决群集融洽和情况管理方法的每日任务。在群集管理方法器之上是不一样的生产调度器。群集管理方法和器皿生产调度是相互之间解耦的,因此Amazon适用顾客应用和建立她们自身的生产调度器。群集实际上便是运用可使用的测算資源池。而这里的資源池便是依据器皿区划的Amazon EC2案例的CPU、运行内存和互联网資源。Amazon ECS根据运作在群集中每一个EC2案例上的器皿代理商来融洽群集。代理商容许Amazon ECS与群集中的EC2案例开展通讯,并依据客户或生产调度器的恳求来起动、停止和监管器皿。代理商应用Go語言撰写,資源占有少,现阶段在GitHub上根据Apache协议书开源系统。欢迎大伙儿奉献和意见反馈。


大家怎样管理方法情况

以便融洽群集,大家的群集上必须有1个SSOT[单1数据信息源]:群集中的EC2案例,运作在EC2案例上的每日任务,构成每日任务的器皿,能用/占有資源(比如,互联网端口号、运行内存、CPU等)。在得到精准的群集情况信息内容以前,大家是不能能取得成功打开和停止器皿的。以便处理这个难题,必须在某个地区储存情况,因而当代群集管理方法器的心血管是键值数据信息库。

这个键值数据信息库对任何群集键入的和储存于此的信息内容主要表现为SSOT。以便确保靠谱性和可拓展性,这个键值数据信息库必须选用遍布式来保证长久性和能用性,并避开互联网区划和硬件配置常见故障带来的危害。也正由于键值数据信息库是遍布式的,保证数据信息1致性和正确的开展高并发改动会变得更为艰难,这类状况在情况不断转变的自然环境(例如,器皿的终止和起动)中尤甚。对此,以便确保多情况改动不容易出現矛盾,一些方式的高并发操纵就必须落实到位了。打个比如,假定有2个开发设计者从某个EC2案例恳求剩下的运行内存以供她们的器皿应用,这个情况下,仅有在其中1个器皿可以真实获得这些資源,而另外一个则会被告之恳求未进行。

以便完成高并发操纵,大家选用了Amazon遍布式系统软件的关键原语之1来完成Amazon ECS,这是1个根据Paxos的事务管理系统日志的数据信息储存系统软件,它储存了每项数据信息变动的纪录。在系统日志中,任何数据信息的写入均以事务管理的方式递交,并对应1个特殊次序的ID。数据信息当今的值便是系统日志中纪录的那些事务管理的总和。针对任何数据信息的载入,获得的都只是系统日志当今時间点的1个快照。假如写实际操作是继之前载入实际操作进行以来全新递交的事务管理,则判断写实际操作取得成功。这类原语容许Amazon ECS以开朗锁的方式储存群集的情况信息内容,针对共享资源数据信息常常变化的情景(例如当必须表述诸如ECS之类的测算資源共享资源池的情况时)而言,这是1种理想化的方法。这个构架使得Amazon ECS具备高能用性、低延迟时间和高吞吐量量的特性,由于数据信息储存仍未应用消极锁(译者注:作者自身描述得很模棱两可,大伙儿参照多版本号高并发操纵MVCC)。
根据API浏览

既然大家有了1个键值数据信息库,那末大家便可以取得成功融洽群集,并保证所需数量的器皿正在运作,由于大家有1种靠谱的方式来存储群集的情况。以前提到过,大家解耦了群集管理方法和器皿生产调度两个控制模块,由于大家期待顾客可以充足运用Amazon ECS情况管理方法的工作能力。大家早已根据1系列API对外开放了Amazon ECS群集管理方法器,它容许顾客以构造化的方法浏览储存在键值数据信息库中的群集情况信息内容。

根据list指令,顾客能够载入代管的群集,特殊群集中运作的EC2案例,运作中的每日任务和构成每日任务的器皿配备(如每日任务界定)。根据describe指令,顾客能够获得EC2案例的实际信息内容和每一个案例上的能用資源。近期,顾客亦能够起动和终止任何群集中的每日任务了。最近,大家对于Amazon ECS开展了1系列的负载检测,大家期待共享1些特性关键点,顾客在Amazon ECS上建立运用的情况下应当会关心它们的。

上图显示信息了1个负载检测的結果,在这次检测中,大家在Amazon ECS群集中加上和删掉案例,并精确测量72小时的周期限内,启用‘Describe Task’API时,百分比排序坐落于第50位和第99位的延迟时间。你能够看到,虽然群集数量有较大的起伏,可是延迟时间相对性而言并沒有甚么颤动。Amazon ECS能够如你所需地开展拓展,无论你的群集经营规模有多大,且压根不用实际操作或拓展群集管理方法器。

这组API是顾客在Amazon ECS上构建处理计划方案的基本。生产调度器只是出示了有关什么时候、何地和怎样打开和终止器皿的逻辑性。Amazon ECS的构架为共享群集情况而设计方案,它容许顾客依据必须为运用运作各种各样生产调度器(如2进制装包、公布等)。这个构架容许生产调度器查寻群集的实际情况,并从通用性池中分刘海配資源。开朗高并发操纵容许生产调度器无矛盾地获得它们所恳求的資源。1些顾客早已在Amazon ECS上建立了各种各样趣味的处理计划方案,下面大家来共享1些实际的示例。
Hailo——延展性資源池上的订制生产调度

Hailo是1个完全免费的挪动APP,它容许人们招乎1辆验证的出租车到其所属地。Hailo有着1个全世界互联网,包括了超出60000名司机和1百万以上的乘客。Hailo于2011年创立,从第1天刚开始就应用了AWS。在以往的几年中,Hailo从AWS单1地区上运作的运用结合演变为贯穿好几个地区的微服务构架。以前,每一个微服务都跑在静态数据区划的案例群集上。Hailo遇到的难题是跨分区的資源应用率较低。这个构架其实不具有很强的拓展性,而且Hailo也不期待它的工程项目师关注基本设备的细节或微服务的布署难题。

为此,Hailo决策根据服务优先选择级和其它的运作时指标值对器皿开展生产调度。后来她们挑选了Amazon ECS来做为群集管理方法器,由于ECS能够轻轻松松的管理方法每日任务情况并浏览群集情况的API。一样,Hailo能够依据自身的要求来订制生产调度器。


Remind——服务平台即服务

Remind是1个web端和挪动端运用,使得老师可以给学员推送信息内容并和父母获得联络。Remind服务平台上有着24M客户和超出1.5M的老师。它每个月传送150M条信息内容。Remind最初应用Heroku来运作全部运用设备,从信息消息推送模块、前后左右端API、Web顾客端到闲聊后台管理。这些设备中的绝大多数都以巨大的运用块开展布署。

伴随着客户的提高,Remind期待有着横向拓展的工作能力。因而大概在2014每年底,它的工程项目师精英团队刚开始探求着向根据器皿的微服务构架转移。精英团队期待根据AWS构建1个PaaS,保证它可以适配Heroku的API。1刚开始,精英团队期待能有1个开源系统的处理计划方案(例如,CoreOS和Kubernetes)来负责群集的管理方法和器皿的合作,可是因为精英团队的经营规模较小,因而她们沒有時间来管理方法群集的基本设备,另外确保高能用性。

在扼要评定了Amazon ECS以后,精英团队决策在此服务的基本上构建PaaS。Amazon ECS是全代管式的,这使得工程项目資源可以被集中化于开发设计和布署运用;这里并沒有群集必须管理方法和拓展。在6月份,Remind开源系统了她们根据ECS的PaaS处理计划方案,名为“Empire”。凭着Empire,Remind获得了可观的特性提高(比如,延迟时间和平稳性)和安全性优点。她们接下来几个月的方案是将90%以上的关键设备转移到Empire。


Amazon ECS——1个全代管的服务平台

上述只是大家从顾客处看到的在其中两个测试用例。Amazon ECS构架容许大家出示1个具备高可拓展、高能用、低延迟时间的器皿管理方法服务。根据API开朗高并发(译者注:开朗锁)地浏览共享资源群集情况的工作能力,使得客户得以按需建立任何订制器皿处理计划方案。大家1直致力于为顾客清除反复而繁杂的每日任务。根据Amazone ECS,压根不必须安裝或实际操作群集管理方法程序流程,顾客理当仅仅潜心于开发设计出色的运用。


Amazon与Google间的器皿市场竞争不断发酵

Google器皿模块(GKE)由pod、replication controller和连接点构成。pod是1组特殊的运用程序流程逻辑性主机实体模型的器皿逻辑性排序;replication controller保证特殊数量的pod副本任什么时候候都在运作;连接点是提升了器皿自然环境的Google测算模块虚似机。

GKE根据Google的Kubernetes器皿编排服务平台。Kubernetes 1.1版本号在1.0版初次现身以后4个月的11月24号公布,是销售市场中第1个可以根据水平连接点全自动伸缩作用来完成全自动伸缩连接点的商品,这个作用遭受客户的高宽比追捧,从而为很多应用GKE的实例出示了有力的适用。

“大家为许多各种各样种类的新项目应用全自动伸缩”, Descartes Labs企业的协同创办人和首席云构架师Tim Kelton如是说。这家企业坐落于新墨西哥洲,是设备学习培训层面的初创期企业,可以解决PB级別的卫星数据信息。

全自动伸缩的pod在解决大中型批解决工作时可以派上大用处,Kelton解释道。有时,他的企业解决PB级的数据信息,这就必须拓展到3000个核心。在Kubernetes的第1个版本号(接着很快被GKE合拼)中,“这并不是关键特点集的1一部分”,他说。

尽管GKE不适用竖直器皿拓展或连接点全自动伸缩,可是,依据GKE高級商品主管,另外也主导Kubernetes商品管理方法的David Aronchick表露,这些作用很快便是完成。

Amazon EC2器皿服务(ECS)由服务、每日任务和案例构成。服务是组成运用程序流程的每日任务组,而案例是适用器皿的延展性测算云端虚似机,与GKE中的连接点很像。

Google的ECS的全自动伸缩工作能力与GKE是相反的:应用亚马逊CloudWatch和亚马逊互联网服务Lamda能够完成服务全自动伸缩,案例还可以根据CloudWatch metrics开展全自动伸缩,可是每日任务——等同于于pod,属于不光滑逻辑性,没法全自动伸缩。

尽管全部种类的全自动放缩都很关键,可是亚马逊客户期待将每日任务全自动伸缩添加ECS中。

“运作1个新的案例代表着你要有附加的容量来运作附加的每日任务,但这其实不代表着任何新的每日任务都将被起动”,ACI信息内容高新科技团体副总裁Chris Moyer如是说。ACI,坐落于纽约,是1家根据Web的內容汇聚技术性的企业,也是TechTarget的奉献者。“假如你只是全自动伸缩案例,其实不能真实协助你处理附加的负载——你务必真实运作附加的每日任务来完成拓展。”

跨地区冗余

在ECS发展趋势全过程中,亚马逊优先选择发展趋势在同1个群集中,对于根据客户要求的每日任务全自动伸缩冗余性,当地超越能用地区(AZs)的工作能力,当ECS服务生产调度起动新的每日任务时,它也会尝试根据群集中的AZs全自动均衡这些每日任务。

“这很关键,由于单独AZ容许不成功,因此假如两个每日任务都容许在同1个AZ中,很非常容易拖垮你的服务”,Moyer说。

据Aronchick详细介绍,Google能够在GKE中根据指令行插口(CLI)跨好几个地区。

"完成跨地区十分非常容易,两3条指令就可以搞定",Aronchick如是说。

但是,这就要谈到GKE客户最大的愿望:将跨地区作用改善到Web页面上,包含跨域群集拓展作用。

“完成客户页面必须很多工作中”,Vendasta高新科技首席构架师Dale Hopkins说,Vendasta为新闻媒体企业设计方案市场销售和营销推广手机软件。客户页面现阶段适用群集建立和别的极少数作用。Hopkins说:“拓展群集是不直观的。”
互实际操作性

ECS做为1个可拓展服务平台,旨在融进顾客现有的工作中流,关键解决意味着客户的群集情况。将ECS集成化到现有工作中流中来适配顾客在用的专用工具,例如用以高級生产调度的Apache Mesos。亚马逊还引以为豪的宣称有着普遍的器皿小伙伴互联网来为亚马逊ECS奉献新特点,例如监控、不断集成化和安全性。

另外,Google早已与1批云端器皿协作小伙伴协作,这些协作商容许Kubernetes能够根据好几个云端供货商被布署——这也是CLI如今的1个作用,Aronchick如是说。上年夏季Kubernetes 1.0版本号公布时, Google正确引导了Cloud Native 测算基金会的创立,基金会组员包含云服务企业,例如IBM和Red Hat,和终端设备客户如eBay和Twitter。

“[附] Kubernetes,实际上我能够在亚马逊布署,在Azure上布署,在IBM上布署,还可以布署在我自身的物理学硬件配置上,”Descartes的Kelton 说。 “这是是非非常有吸引住力的,由于大家有挑选。”

Google也是有1个开源系统新项目,有着数百递交者和每个月数以千计的编码递交,使得 Kubernetes能够迅速的加上新作用,例如水平pod全自动拓展。

Google是Kubernetes的创办者,并且Google做了许多优秀的工作中发展壮大了小区,451 Research的科学研究员Jay Lyman如是说。

富者愈富

虽然这般,应用老牌和熟习的次级亚马逊服务来完成集成化使得亚马逊ECS非常吸引住新的顾客。

1家总位置于纽约的企业,与1些大的公司就IT新项目勤奋行资询,方案在两个最新项目上应用ECS, 据其创办人John D'Esposito详细介绍。迫使大家应用ECS的关键优势是应用现有的、完善的基本设备服务例如延展性负载均衡、虚似独享云、身份和浏览管理方法,和延展性块储存能够完成无缝拼接集成化。

GKE和Compute Engine的标价還是对顾客十分有吸引住力的。除在以10分钟为企业收费的VM資源的最底层,GKE包含完全免费的Kubernetes主连接点——这是非常吸引住Vendasta的Hopkins的地区。

“直至我能够得到很多设备,我才会给 Kubernetes付款附加的花费。针对第1套设备,GKE为我完全免费出示Kubernetes连接点”,Hopkins说。

在Kubernetes和器皿模块被引进以前,Hopkins和Kelton都早已在用Google云服务,包含Google App模块。这样,数据信息重力就会在她们所挑选布署的云端器皿上起功效。

“大家的大多数数数据信息集是PB级经营规模的,因此你不可以只是挪动或拷贝它们,你务必真实去测算数据信息”,Kelton说。大多数数数据信息现阶段储放在Google云服务平台,尽管Descartes不与AWS的协作小伙伴协作。
微软Azure Container服务整体家装待发

尽管Google和亚马逊在云端器皿市场竞争中到现阶段为止仍处在前沿,但亚马逊最大的市场竞争对手依然是微软的Azure,它在比较有限预览环节有着自身根据Linux的云端器皿的服务,和Windows Server的新版本号,2020年以后,将适用根据Windows的器皿。

“大家的大多数数顾客全是......不管是在Azure或亚马逊,” 坐落于Rochester的HKM资询企业的合伙创办人Chris Riley如是说,“微软早已拿到了1些她们正在开发设计的趣味专用工具。假如大家看到1个主次的,它极可能Google以前的Azure“。

简易性和易用性是许多微软的商品的设计方案关键,Lumagate的CTO Kristian Nese详细介绍,Lumagate是挪威的1家微软Azure系统软件集成化商。

“大家如今布署Azure的器皿服务,仅仅必须100行编码,”Nese说。 “1旦你布署了Azure的器皿服务,你具体上布署了23个資源......假如你想手动式保证这1点,将会必须数千行编码。”

Azure器皿服务在预览环节也适用全自动拓展,是1个单独服务方式,被称作VM量表集。

Azure还将出示完善和熟习的专用工具来管理方法器皿,如Azure的資源管理方法器,Nese填补说。

"> 对不起,没有下一图集了!">
在线咨询