让不懂建站的用户快速建站,让会建站的提高建站效率!
栏目分类
发布日期:2024-12-22 10:11 点击次数:106
K8s与无服务器:用API部署事件驱动
要津字: [Amazon Web Services re:Invent 2024, 亚马逊云科技, Kubernetes Api Deployment, Event-Driven Architectures, Serverless Compute Choices, Developer Autonomy, Platform Engineering]
导读
很多组织同期在亚马逊云科技无服务器服务和Kubernetes上运行其就业负载。天然组织过头平台团队但愿赐与开导东谈主员使用他们偏好工夫快速前进的智商,但他们可能濒临扶助两个不同平台(用于部署应用表率到Amazon EKS和无服务器服务)的挑战,以及处理低效经由和不调和器用的问题。在本次会议中,了解怎样使用ACK等器用通过Kubernetes API部署无服务器、事件驱动的架构,怎样推广现存的Kubernetes平台以部署可组合的无服务器架构,以及怎样闪开导东谈主员放荡走访他们偏好的工夫遴荐。
演讲精华
以下是小编为您整理的本次演讲的精华。
在当代应用表率开导的不时演进的环境中,组织一直在寻求立异的格式,为最终客户创造价值,并保捏跳跃于竞争敌手。在这一追求的中枢是领受架构模式来促进模块化、卸载非各异化的重型就业的运营模子、自动化和圭臬化的软件委派经由,以及不竭和治理的共同就业。此外,集成很是构建妥协耦的数据库,以及巧合推广到数十亿用户、反应毫秒级用户请乞降处理PB级数据的智商已成为当务之急。
正如Emily Shea、亚马逊云科技 Serverless的市集推行团队引导东谈主所精湛申诉的那样,客户鄙俗领受了两种不同的运营模子来构建他们的当代应用表率。第一种次第围绕无服务器或亚马逊云科技原生服务,期骗死板己见的亚马逊云科技 API和自动化功能。这种模式强调自主开导团队、低基础设施不竭支拨,以及为新应用表率(包括运营用度)裁减总体领有资本的共同致力于。客户倾向于领受这种运营模子的服务平方包括ECS、Fargate、用于无服务器功能的Lambda、App Runner,以及EventBridge和Step Functions等应用表率集成服务,以及更鄙俗的亚马逊云科技原生和无服务器服务生态系统。
第二种运营模子围绕Kubernetes过头生态系统。倾向于这种格式的客户优先接头Kubernetes API和自动化器用,平方强调汇注式平台团队和系数这个词组织的圭臬化实践。他们更有可能领有里面开导东谈主员平台,应用表率开导东谈主员不错走访自助服务功能。此外,他们相配爱重期骗围绕Kubernetes的社区和开源生态系统。这些客户平方使用的亚马逊云科技服务包括用于运行Kubernetes集群的EKS、在EC2实例上运行Kubernetes,以及用于运行容器的RoSA。
Emily Shea申诉了大多数大型组织所濒临的本质——诡计遴荐的异构搀和,而不是严格圭臬化于单一工夫。这种各样性可动力于收购、工夫偏好或针对特定诡计遴荐优化特定就业负载的需求,如使用Amazon Lambda来处理需要快速推广的就业负载。
为了评释这少量,Emily举了英国政府的驾驶和车辆许可机构(DVLA)的例子,该机构正经叹惜天下驾驶员和车辆的登记册,并每年收取约60亿英镑的收入。DVLA最近入辖下手对其驾驶员服务应用表率进行大限制当代化,不仅波及更新展示层,还包括重构和当代化后端,以灵验期骗云并为应用表率的翌日发展作念好准备。
DVLA的架构展示了Kubernetes和无服务器组件的和调和会。他们期骗Kubernetes,特殊是Amazon Elastic Kubernetes Service (EKS),用于圭臬组件,如用于UI的Ruby on Rails和一个健壮的Java工夫栈,其中包含100多个组件和库,以自助服务的格式提供给100多名使用该平台的开导东谈主员。关联词,当波及到应用表率处理后端时,他们相识到无服务器和事件驱动次第的适用性,因为波及异步经由和就业流,如处理驾驶牌照苦求、处理相片上传和纳入东谈主工审批次第。
Christina Andonov是亚马逊云科技的又名处置决议架构师,她共享了手脚前平台工程师的经历,其时她在为开导东谈主员提供所需的亚马逊云科技资源时碰到了挑战。她的团队使用Terraform来不竭他们的Kubernetes集群,并为开导东谈主员提供器用将应用表率部署到这些集群。然则,当开导东谈主员需要S3存储桶或Lambda函数等亚马逊云科技依赖项时,就需要一个工单经由。这个过程波及开导东谈主员开具工单,然后Christina的团队成员会复制并粘贴Terraform代码来创建所请求的资源,如S3存储桶,并向开导东谈主员提供存储桶位置。工单数目卓越可不雅,需要一个Christina称之为“英杰轮值”的轮流轨制,尽管她承认在那些星期里嗅觉远非英杰。Christina提到他们每周皆会收到卓越数目的工单,以至于需要一个轮流轨制。
Lambda函数的请求尤其具有挑战性,因为它们平方需要多数的往来换取才气知晓触发机制、终结存储位置和其他细节,从而进一步延长了经由。Christina承认,请求Lambda函数的工单可能需要一周以上的时候,因为波及往来换取,等她弄线路开导东谈主员念念让她构建什么时,那就成了她的“理由理由的一周”。
相识到需要蜕变,Christina和一群志同谈合的东谈主决定处置这个问题,不仅针对Kubernetes依赖项或无服务器架构,而是针对系数这个词组织。他们与各个团队进行了商讨,包括数据平台、数据库以及安全和合规团队,并共同决定构建一个全新的Terraform平台。该团队开始将高等用户(如数据平台、数据库以及安全和合规团队)纳入平台,然后再向开导东谈主员灵通平台。
关联词,他们很快果断到Terraform管谈平方会失败,有时甚而莫得彰着的原因——这个问题依然如斯渊博,以至于他们的大脑依然学会了忽略它。Christina将失败的Terraform管谈的体验比作房间旯旮里一把凌乱的椅子,她的大脑多年来依然脱手忽略它。
关于新加入平台的开导东谈主员来说,碰到失败的Terraform管谈是一个要紧破碎,因为他们虚浮零丁排查和处置问题所需的多年Terraform阅历。因此,开导东谈主员会回到工单系统,寻求“英杰”们的匡助来教授他们的管谈。
天然该平台提供了诸多公正,如与更鄙俗的平台团队的改善合营以及增强的安全和合规情景,但它未能已毕其主要缱绻之一:通过扬弃平台团队来晋升开导东谈主员的就业成果。
加入亚马逊云科技后,Christina络续与客户互动,发现很多组织皆濒临同样的挑战。她试图了解平台激增的原因,并得到了一个渊博的回复:组织但愿赋予开导东谈主员自主权。Christina不雅察到,初创公司频频赋予开导东谈主员卓越大的自主权,有时甚而会提供亚马逊云科技账户的不竭员密钥。跟着组织的熟悉,它们引入了圭臬、器用,在某些情况下还结伙了单一运行时。关联词,跟着组织的发展和收购公司,被收购的实体平方带来了与组织圭臬化的运行时相悖的运行时,从而延续了异构性的轮回。
Christina相识到,处置决议不在于圭臬化单一诡计遴荐,而在于凭证就业负载特征遴荐允洽的诡计,有些就业负载更允洽Lambda,有些则更允洽Kubernetes。
追溯之前的经历阅历,Christina果断到,天然Terraform平台提供了诸多公正,但它并莫得处置扬弃平台团队的具体问题。此外,该团队当先接头过构建自界说Kubernetes限制器,但由于巧合开导和扶助此类限制器的团队成员有限,因此存有疑虑。
其时,该团队评估了开源的亚马逊云科技 Controllers for Kubernetes (ACK)技俩,该技俩为各样亚马逊云科技服务提供了预构建的限制器。关联词,其时该技俩独一13个限制器,该团队对亚马逊云科技翌日开导相干存有疑虑。
目下手脚亚马逊云科技职工,Christina不错申诉ACK取得的阐述。早些时候,EKS服务团队相识到当先次第的局限性,因此接办了系数ACK限制器。终结re:Invent 2024大会,ACK已达到50个通用可用性(GA)限制器,并取得企业扶助,使客户巧合通过这些限制器在Kubernetes上部署无服务器架构。
关联词,仅有ACK是不够的,无法部署无服务器架构。Christina和她的团队相识到还需要其他机制,举例为开导东谈主员提供允洽的界面,将资源组合成逻辑分组,并在它们之间传递资源援用和值。这一相识导致了另一个开源技俩Craw (Cube Resource Orchestrator)的开导,亚马逊云科技在re:Invent 2024大会前约两周对其进行了开源。
Craw旨在运行在职何Kubernetes集群上,非论是里面部署照旧土产货集群,被视为领受Kubernetes资源模子来部署亚马逊云科技资源(包括无服务器架构)的临了一块拼图。
为了展示Craw的功能,Christina先容了Gedrias,亚马逊云科技的另一位处置决议架构师,他共享了一个数据处理示例,将Apache Spark与Amazon Elastic Kubernetes Service (EKS)取悦使用,并通过S3事件触发Amazon Step Functions就业流。
Gedrias详细了演示就业负载的条件,包括每个就业负载的定名空间阻遏以确保分离、在S3上已毕最小特权以看重数据工程师走访未经授权的存储桶或剧本,以及允许数据工程师部署就业负载而无需额外权限或不竭员模子。
该演示就业负载模拟了一个场景,其中数据对象到达S3存储桶,在Amazon EventBridge中触发事件。EventBridge然后基于规矩启动Step Functions就业流,并传递关系传入数据对象的信息。就业流调和数据处理,在EKS上指定的定名空间中启动捏造EMR集群上的Apache Spark功课。
Spark功课从S3拉取数据,使用指定的剧本对数据进行分析,并将输出数据保存回S3存储桶。与此同期,Step Functions就业流将传入数据复制到数据湖(另一个S3存储桶),以便归档或进一步处理,并慑服数据保留规矩。
一朝Spark功课完成,就业流从S3输出存储桶读取终结(存储在S3存储桶的输出前缀中的JSON样式),并将它们存储在Amazon DynamoDB数据库中,该数据库径直在Step Functions就业流中已毕,无需额外的Lambda代码。任何需要处理后数据的API或服务皆不错走访此DynamoDB数据库。临了,就业流向Amazon EventBridge自界说事件总线发送事件,见告订阅者(如Amazon Simple Notification Service (SNS))数据处理已完成。在演示中,SNS继承事件并向指定的收件东谈主电子邮件地址发送见告。
Gedrias展示了使用Craw通过Kubernetes API部署系数这个词堆栈的代码。从数据工程师的角度来看,代码由省略20行YAML构成,指定输入存储桶、Spark剧真称呼、见告电子邮件地址和一些默许值。
关于平台工程师,代码界说了一个Craw资源组,其中包含系数所需资源,如定名空间、输入存储桶、DynamoDB表架构、Step Functions就业流界说(使用Amazon States Language (ASL)约170行JSON内联在YAML中)、EMR在EKS捏造集群、SNS主题和订阅。值得注重的是,指定的政策已毕了最小特权走访,将权限锁定在特定存储桶、输入前缀、临时处理、输出,甚而剧本,只允许数据工程师使用特定的剧真称呼。
Gedrias使用ArgoCD部署了资源组,并浏览了演示环境,线路了启动状态,其中存储桶为空,DynamoDB表中独一2札记载,2个选录,一个用于1月数据,一个用于2月数据。QuickSight仪容板已加载了一些数据,线路了两个供应商的2个月数据,离别有430万札记载和130万札记载,以及按供应商的平均用度、支付类型散播和最不菲行程的可视化。
Gedrias随后将3月、4月和5月的纽约出租车数据示例文献上传到输入S3存储桶,触发了三个并行的Step Functions就业流实践。跟着演示的进行,输入文献在处理后从S3存储桶中删除,副本存储在数据湖存储桶中。DynamoDB表中填充了3条额外的选录记载,QuickSight仪容板使用处理后的数据进行了更新,目下线路了两个供应商离别有1100万和370万条行程记载的5个月数据。
临了,Gedrias收到三封阐述数据处理就业负载得手完成的见告电子邮件,演示了端到端的编排和通过Kubernetes API的部署。
Christina之前提到的数据处理示例和微服务示例皆可在Craw存储库的示例部分找到,为客户提供了一个全面的资源来探索和已毕这些架构。
总之,Emily Shea在会议终结时强调了几个要津重点。开始,她承认组织在构建当代应用表率时会出现异构工夫遴荐,凭证特定就业负载的条件,容器/Kubernetes和无服务器/Lambda皆有其存在的位置。
其次,她强调了客户不错使用的令东谈主沸腾的新器用,如开源的亚马逊云科技 Controllers for Kubernetes (ACK)和最近发布的Craw技俩,这些器用不错通过Kubernetes API部署无服务器资源,为组织里面提供无缝的开导体验。
临了,Emily强调了赋予开导东谈主员API和器用的进犯性,这些器用不错最大限制地减少支拨,松开平台团队的包袱,从而晋升开导东谈主员的就业成果和自主权。
本次会议展示了亚马逊云科技客户怎样期骗Kubernetes和无服务器架构的上风为其当代应用表率,使用ACK和Craw等器用通过Kubernetes API部署事件驱动的无服务器就业负载。这种次第允许开导团队使用首选的诡计遴荐,同期使平台团队巧合提供治理和圭臬,正如DVLA和所展示的演示示例所示。
底下是一些演讲现场的精彩已而:
Emily Shea是亚马逊云科技无服务器产物市集推行团队的正经东谈主,她先容了我方以及共事Christina和Gedrias,他们是亚马逊云科技的高等处置决议架构师。
演讲者强调了开导东谈主员在Terraform管谈不测失败时所濒临的坚苦,这会导致延伸并需要依赖大家寻求匡助。
Gidrius向Christina申诉了无服务器架构的真蓝骨子,挑战了她以Kubernetes为中心的不雅点。
演讲者解说了他们相干演示一个基于著明的纽约出租车数据集的分析数据平台用例,使用Spark on Kubernetes和亚马逊云科技服务如EMR、Step Functions、Lambda和S3来创建事件驱动架构。
着重申诉了平台工程师怎样使用Amazon CloudFormation模板界说和供应云资源,包括定名空间、输入存储桶、DynamoDB表、Step Functions就业流以过头他服务如EKS集群和SNS主题。
演讲者展示了Amazon Compute Optimizer和Amazon Cloud Control API的二维码,提供了代码样例和器用,用于构建具有不同诡计遴荐的当代应用表率。
总结
当代应用表率开导世界正在快速发展,组织正在领受多种运营模式和诡计遴荐。本文探讨了在大型企业中集成Kubernetes和无服务器架构所濒临的挑战和处置决议。
客户正执政着两条不同的谈路发展:领受亚马逊云科技土产货次第,期骗Lambda、ECS和Fargate等服务,或者领受Kubernetes生态系统,期骗EKS和开源器用。关联词,很多组织发现我方处于异构环境中,团队凭证就业负载需求、收购或工夫偏好领受不同的诡计遴荐。
为了处置这种复杂性,亚马逊云科技推出了开源技俩亚马逊云科技 Controllers for Kubernetes (ACK)和Cube Resource Orchestrator (Craw)。ACK提供了通过Kubernetes部署亚马逊云科技资源(包括无服务器架构)的API,而Craw则巧合在Kubernetes集群内对资源进行分组和抽象、传递值以及实践逻辑操作。
演示展示了一个数据处理示例,其中EKS上的EMR集群处理来自S3存储桶的数据,由Amazon Step Functions编排。就业流将数据复制到数据湖,使用Apache Spark进行处理,并将终结存储在DynamoDB中,展示了Kubernetes和无服务器组件的无缝集成。
总之,本次会议强调了为开导东谈主员提供API和自助服务平台的进犯性,使他们巧合为就业负载期骗最好诡计遴荐,同期促进平台团队和开导团队之间的合营。通过ACK和Craw等器用将Kubernetes和无服务器架构相取悦,有望加快立异并晋升当代应用表率开导的开导东谈主员出产力。
亚马逊云科技(Amazon Web Services)是民众云诡计的首创者和引颈者。提供200多类鄙俗而真切的云服务,服务民众245个国度和地区的数百万客户。作念为民众生成式AI前行者,亚马逊云科技正在联袂鄙俗的客户和合作伙伴,教授可见的买卖价值 – 网罗民众40余款大模子,亚马逊云科技为10万家民众企业提供AI及机器学习服务,看管3/4中国企业出海。
上一篇:光变感光热转印