re:Invent 2023 | 高级 Serverless 工作流模式和最佳实践

关键字: [Amazon Web Services re:Invent 2023, Amazon Step Functions, Serverless Workflow Patterns, Step Functions Express Workflows, Reducing Step Functions Cost, Step Functions Callbacks, Step Functions Integration Testing]

本文字数: 1700, 阅读完需: 8 分钟

视频

如视频不能正常播放,请前往bilibili观看本视频。>> https://www.bilibili.com/video/BV1XC4y1Q7TQ

导读

您是一名使用 Amazon Step Functions 工作流构建应用程序的经验丰富的无服务器开发人员吗?您是否想要一份指南,帮助您在生产工作负载中释放 Amazon Step Functions 的全部威力?您是否在纠结是选择快速工作流还是标准工作流?或者是使用映射状态、并行状态还是嵌套工作流?在本讲座中,您可以学习到构建工作流和成本优化的最佳架构实践和可重复模式,并发现可用于构建安全、高规模、高性能无服务器应用程序的便捷作弊码。真实的生产场景将说明这些优势。

演讲精华

以下是小编为您整理的本次演讲的精华,共1400字,阅读时间大约是7分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。

本段文字主要介绍了Ben Smith在亚马逊云科技的职责以及他在re:Invent上的演讲内容。作为亚马逊云科技的主要开发者倡导者,Ben Smith的演讲主题是关于高级无服务器工作流模式和最佳实践。他热情地欢迎观众参加会议,并向大家介绍自己在加入亚马逊云科技后的经历。Ben主要使用亚马逊云科技的Step Functions功能来构建应用,这使得他有全球旅行的机会,并与成功利用Step Functions的客户互动。通过与客户的交流,Ben对客户面临的挑战和采用的最佳实践有了更深入的了解。

这次演讲是对Ben的这些学习经验的整合,形成了一套关于使用Step Functions开发健壮且具有弹性的无服务器应用的推荐模式和最佳实践。他希望这次会议能提供有价值的信息,帮助观众在re:Invent上成功地使用Step Functions。

根据观众的兴趣,Ben认为与会者可能已经在使用Step Functions,他们正在寻求对自己的方法进行验证以及新的实施模式。他分享了演讲议程,旨在解释为什么在构建新微服务时应该首选Step Functions。

为了展示Step Functions的优势,Ben将一个简单的基于Lambda的从DynamoDB中检索项目的微服务与一个使用Step Functions工作流的等效实现进行了比较。使用Lambda函数的实现需要配置运行时、SDK、参数、查询、出口处理程序、上下文和事件对象,以及try/catch块,总共有超过20行的代码。而使用Step Functions工作流的实现只需要配置适当的参数,以更具可读性和可维护性且显著更少的代码实现了相同的结果。

Ben强调了Step Functions如何提供了单一的窗口来观察工作流程的执行情况,精确地找到故障发生的位置,并在数据通过每个状态时进行检查。他指出,在没有编排的情况下实施分布式异步无服务器架构时,这种程度的可观测性是非常困难和复杂的。

本段文字主要介绍了Ben对Step Functions的一些看法和建议。他表示,Step Functions可以与超过220种亚马逊云科技服务进行集成,用户可以直接调用这些服务的SDK进行操作,而不需要启动Lambda函数。这使得Step Functions能够协调超过11,000个不同的操作。同时,他还介绍了两种执行模式:标准模式和快速模式。标准模式支持长达一年的执行时间,具有异步模式和严格的一次执行语义;而快速模式则提供更高的吞吐量,至少执行一次,但将工作流程的持续时间限制为5分钟。为了降低成本,Ben建议利用Step Functions的内置功能来替换那些用于简单数据转换的小型Lambda函数。例如,生成唯一ID的功能以前需要自定义的Lambda函数,但现在可以利用内置的States.UUID()内在函数,这样就不需要额外的费用。对于常见的同步应用中的轮询循环,Ben建议使用EventBridge和Step Functions的Emit/Wait状态来实现回调模式,这样在工作流程等待异步任务主动回调以触发后续操作时,工作流程可以暂停。最后,Ben通过一个实际示例展示了如何使用API Gateway直接调用Step Functions的工作流来实现REST CRUD API,从而避免了在两个服务之间插入Lambda函数导致的重复授权逻辑、更紧的权限控制以及更清晰的职责分离。

本段文字主要描述了Ben如何优化咖啡订购应用Serverless Espresso的问题,以及如何使用Step Functions内建功能来替换工作流程中用于简单数据转换的许多小Lambda函数。针对必须使用标准模式的工作流程,Ben建议将快速执行步骤的Express工作流程嵌套在较慢的父级标准工作流程中以最小化状态转换数量。此外,他强调了扩展性的重要性,并以一个视频处理工作流为例,展示了如何利用事件驱动的跨服务通信进行优化。

这段文字主要描述了几位技术专家在re:Invent上关于如何运用亚马逊的Step Functions和Serverless服务的演讲内容。他们探讨了如何通过分布式映射状态(Distributed Map)对大量S3对象或CSV数据进行处理以提高应用的并行处理能力。同时,他们也通过使用Saga模式和断路器模式实现了失败步骤的顺序补偿,提高了应用程序的健康检查能力。此外,专家们还展示了如何使用Step Functions根据业务逻辑来选择运行时环境,如在处理长视频时,可以根据视频长度决定是在Lambda和ECS Fargate之间进行选择。最后,他们还介绍了一些新功能,如恢复功能、HTTP状态、测试API、Bedrock集成和工作流程工作室集成等。建议读者查阅他们的公开仓库(s12d.com/workflows)以获取可重复使用的模板并将其应用于自己的账户。

总的来说,本·史密斯(Ben Smith)的演讲详细阐述了建议的Amazon Step Functions模式和最佳实践,并通过具体的例子展示了如何降低运营成本、提高灵活性、扩展功能、集成工作流程、实现规模化以及运用最新的功能。核心观点是,Step Functions作为一个强大的编排服务,可以在亚马逊云科技上构建、可视化、监控和维护无服务器应用程序。

下面是一些演讲现场的精彩瞬间:

演讲者在了解观众及其参与讲座原因方面表现出了浓厚的兴趣。

通过提高API的工作流能力,实现了更高的工作效率和对同步执行的优化。

亚马逊云科技的Express工作流成本计算方式主要依据其内存分配和工作流程持续时长而定。

为了降低开销并保持执行保障,可将长期运行的任务从标准工作流中提取至独立的Express工作流中。

在亚马逊云科技的Step Functions中,内置函数可实现简单数据转换,无需依赖Lambda函数。

演讲者还讲述了一个关于他年轻女儿询问航程时间的故事,以此类比工作流程中无效的轮询现象。

如今,亚马逊云科技的App Composer已与Step Functions工作流工作室完成集成,用户可直接在IDE中构建无服务器工作流。

总结

本次演讲深入探讨了如何运用亚马逊云科技的Step Functions构建无服务器应用的高级技巧。首先阐述了Step Functions在服务间工作流程的可视化和协调方面所具有的优势。一个显著特点是,相较于标准工作流程,大多数情况下使用Step Functions的Express工作流程更加快速、经济实惠。演讲者接着展示了一系列优化Step Functions工作流程的方法,例如避免轮询循环并采用回调模式。此外,一些值得关注的技巧还包括利用Step Functions的内置函数而非Lambda以降低开销,以及通过使用重启执行和错误处理等功能来构建有弹性的工作流程。在整个过程中,演讲者都强调了分布式映射状态等模式,以便轻松实现工作流程的并行化以提高高可扩展性。这次演讲为开发者提供了一个全面的概述,讲述了如何运用Step Functions构建健壮且成本优化的无服务器应用的最佳实践。

演讲原文

https://blog.csdn.net/just2gooo/article/details/135090683

想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站!

2023亚马逊云科技re:Invent全球大会 - 官方网站

点击此处,一键查看 re:Invent 2023 所有热门发布

即刻注册亚马逊云科技账户,开启云端之旅!

【免费】亚马逊云科技“100 余种核心云服务产品免费试用”

【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”

亚马逊云科技是谁?

亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者,自 2006 年以来一直以不断创新、技术领先、服务丰富、应用广泛而享誉业界。亚马逊云科技可以支持几乎云上任意工作负载。亚马逊云科技目前提供超过 200 项全功能的服务,涵盖计算、存储、网络、数据库、数据分析、机器人、机器学习与人工智能、物联网、移动、安全、混合云、虚拟现实与增强现实、媒体,以及应用开发、部署与管理等方面;基础设施遍及 31 个地理区域的 99 个可用区,并计划新建 4 个区域和 12 个可用区。全球数百万客户,从初创公司、中小企业,到大型企业和政府机构都信赖亚马逊云科技,通过亚马逊云科技的服务强化其基础设施,提高敏捷性,降低成本,加快创新,提升竞争力,实现业务成长和成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李白的朋友高适

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值