亚马逊云科技放大:扩展 Web 和移动应用程序开发和交付

关键字: [Amazon Web Services re:Invent 2023, Amazon Amplify, App Development, Amplify Constructs, Existing Resources, Code First Approach, Multi-Stage Deployment]

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

视频

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

导读

无论您是拥有成熟的模式和资源,还是刚刚接触云计算,亚马逊云科技 Amplify 都为前端 Web 和移动开发人员提供了直观的工具,可以在亚马逊云科技上构建可扩展、可维护的完整堆栈应用程序。本论坛深入探讨 Amplify 的功能,如何将它们与现有部署工具和数据库集成,以及如何使用 CDK 完全定制生成的亚马逊云科技后端。浏览真实世界的场景,并介绍新的以企业为中心的功能,这些功能使使用亚马逊云科技构建、部署和托管安全、可扩展的云连接应用程序比以往任何时候都更容易。

演讲精华

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

在re:Invent的首个上午,演讲者Mohit Srivastava首先欢迎了观众们的参加。演讲的主题将聚焦于协助企业加速移动和Web应用程序开发的服务Amazon Amplify。他强调了提高初始构建速度的同时,确保应用程序具备高性能、卓越的用户体验以及与其他现有基础设施整合的重要性。他再次强调,此次演讲将为更广泛的应用开发提供指导,而不仅仅局限于单一应用的构建。

Mohit进一步阐述,现代应用开发需要全栈功能,因为大部分功能都涉及到客户端和服务器端的功能。他表示,应用开发者很快就会发现他们需要在组织环境中与后台系统(如数据库、API和身份管理)紧密协作。然而,当变化发生时,可能需要前端和后端团队的紧密协调,这可能阻碍灵活性。

Mohit接着说,许多公司试图通过引入前端后端(BFF)层来解决这些复杂性。BFF接口允许前端通过一组统一的接口进行沟通,而非直接访问各种后台系统。然而,构建一个强大的BFF层面临诸多挑战。首先,它需要有发现功能,让前端开发者能够识别可用的数据源和操作。其次,它需要处理诸如实时数据同步等特性,这在后台系统中可能并不存在。性能优化,例如缓存也是非常重要的。此外,BFF需要细粒度的访问控制以确保适当限制数据访问。

整合传统系统可能会面临诸多挑战,原因在于它们通常缺乏现代应用程序所需的低延迟、可扩展性或实时功能。例如,某些系统可能存在无法满足应用程序延迟要求的缓存或优化措施,或者不具备向客户端推送实时更新的新功能。此外,BFF层必须与组织的合规性和devops流程保持一致,而非引入全新的范式。后端系统所有者通常会担心是否给予应用程序开发人员直接访问权限,害怕这可能会导致关键系统过载。因此,BFF层必须解决这些担忧。

演讲者随后介绍了亚马逊云科技Amplify作为解决这些开发者在建构BFF层时所面临挑战的解决方案。Amplify的核心优势在于提供从UI工具到托管和扩大的全方位能力,以构建复杂的网络和移动应用程序。尽管Amplify涵盖了整个范围,但演讲者表示,本次演示将重点关注后端和集成功能,并展示如何全面地组合各个部分。

在谈及近期的发布活动时,演讲者强调了三个旨在简化与现有组织基础设施集成的关键公告:

  1. 使用简洁的亚马逊云科技CDK结构在代码库中定义后端的代码优先开发体验,而非使用独立的CLI工具。
  2. 轻松集成现有的身份系统,如Cognito,以及数据库,如MySQL和PostgreSQL。
  3. 通过将Amplify CDK与亚马逊云科技的其他CDK组件相结合。

此外,将基础设施视为代码的代码优先方法带来了在CI/CD管道和部署策略方面的巨大灵活性。

在提供一些背景信息时,演讲者指出,Amplify迄今为止的核心优势是在使用亚马逊云科技服务进行全新项目的开发。然而,新的功能已经大大改善了将Amplify融入具有现有系统的环境的能力。

演讲者通过分享一个客户案例,展示了初创公司Agritech如何通过运用Amplify快速搭建其云环境并迅速进入市场。该公司CEO兼创始人的成功离不开Amplify的帮助,使其能够快速推出可生产级别的应用程序。

演讲者详细阐述了Amplify的新型代码优先功能,包括在TypeScript或JavaScript应用程序代码中直接编写Amplify构造和代码片段的方法。这样可以在源代码控制中清晰地定义BFF(业务逻辑前端),而非依赖独立的CLI工具。此外,与VS Code等集成开发环境(IDE)的深度整合也提升了用户体验。

演讲者指出,开发者现在可以将Amplify直接连接到Cognito等身份提供商以及MySQL和Postgres等数据库,使得能够在现有数据源基础上进行构建,而非从零开始。

谈到交付方面,演讲者再次强调了代码优先方式的优势,即使基础设施作为代码具备灵活性,从而能在持续集成/持续部署(CI/CD)管道中利用现有的工具链,或采用针对现代应用优化的新模式。Amplify的托管平台还有助于加快部署速度。

在此背景下,演讲者邀请了同事Arun进行示范,展示如何使用Amplify构造构建应用程序后端。演示将展示如何将身份管理、多个数据源和AI服务集成到统一的BFF层中,同时最小化代码量。

在演示阶段,Arun以虚构的医疗保健公司MedicA为例,展示了如何使用Amplify和AppSync创建GraphQL后端来升级现有的基于LAMP栈的PHP应用程序。这个过时的系统使得员工和患者在使用上面临困难。升级后的应用程序允许患者在线预约,员工也能管理预约。

他回顾了一些现有的认证模式和方法,包括使用Amazon Cognito用户池进行客户注册,以及使用Okta作为OIDC提供者进行员工单点登录。在数据处理方面,AppSync提供一个可管理的GraphQL层,将模式、解析器和数据源分离。

通过编写代码,Arun展示了仅使用几行CDK即可定义用户池、OIDC连接和AppSync API,代码行数少于10。例如,认证构造可以一键完成完整的注册、登录、忘记密码流程。

在集成外部数据时,Arun展示了如何使用CLI将现有的MySQL数据库模式自动转换为GraphQL模式和解析器。这使得能够通过AppSync查询现有数据成为可能。

Arun还强调了AppSync的新合并API功能,该功能将多个GraphQL API合并为一个端点,以简化消费者的访问。合并API特性使独立团队能够拥有和管理自己的API,同时通过统一的界面提供给前端开发者。

作为一个例子,Arun引用了Automatic Data Processing(ADP),它提供人力资源管理和工资服务。ADP已经使用AppSync合并API将各种后端和系统的数据汇总到一个访问点。

演示结束时,添加了对Amazon Bedrock的AI驱动的推荐功能的使用。这只需要几行代码将AppSync解析器连接到AI服务。

总结时,演讲者重申了新发布的Amplify功能如何通过简洁的基于代码的声明简化与现有系统的集成。他们强调了在整个开发周期中实现的灵活性,从每个开发者的沙箱到完整的栈CI/CD管道和多区域部署。

演讲者再一次感谢了观众参加早上的会议,并鼓励他们有任何问题都可以提问。他们指出了几个学习更多关于开始使用Amplify的资源。

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

Mohit探讨了亚马逊云科技如何在优化应用开发及保证性能方面发挥作用。

本次演讲将涉及运用亚马逊云科技的Amplify进行现代化应用开发和交付的相关内容。

借助亚马逊云科技的Amplify框架,可以轻松与第三方身份提供商建立集成,或者定制用户流程,从而为用户带来流畅的登录体验。

亚马逊云科技旗下的AppSync支持多种授权方式,包括API密钥、IAM、Cognito用户池以及自定义Lambda授权者。

如今,AppSync还提供了整合式的API,使得独立团队能够将多个API聚合为一个终端,实现跨团队的联合API开发。

演讲者展示如何使用亚马逊云科技的Amplify和CDK快速创建网站。

领导者呼吁观众关注亚马逊云科技的博客,以便了解如何开始利用亚马逊云科技服务。

总结

在此次演讲中,演讲者为我们介绍了Amazon Amplify的功能,解释了他是如何协助企业加速移动和Web应用程序的开发。

Amplify团队的开发过程遵循代码优先原则,他们使用CDK构造来创建后台资源。这种方法可以轻松地与现有的身份提供商以及现有数据库进行集成。认证方面则采用了Cognito技术,为患者提供用户名/密码登录方式,而为医生提供通过OIDC提供商的SSO登录方式。

在数据层面,新的预约数据存储在DynamoDB中,而现有的病人和账单数据则保存在MySQL中。通过使用AppSync GraphQL API和新的合并API特性,这些数据源被整合到一个终端上,使得前端可以在由独立团队管理的服务之间查询数据。

通过与Amazon Bedrock相结合,该应用程序还能够扩展并添加对话AI功能,使聊天机器人能够理解用户偏好并提供个性化的预约建议。

最后,代码优先的开发方法为持续集成/持续部署(CI/CD)管道和部署提供了灵活性。开发人员可以在隔离的沙箱环境中工作,并将代码更改自动保存到云中。此外,可以在多个账户、阶段和区域之间进行全面堆栈部署,以满足更复杂的交付需求。

总之,Amplify的为构建应用程序提供了一种简单有效的方法,在灵活的API层背后整合了新的和现有的资源。代码优先的开发方法确保了开发人员在保持高效的同时,仍能实现健壮的CI/CD和云部署。

演讲原文

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

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

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

点击此处,一键获取亚马逊云科技全球最新产品/服务资讯!

点击此处,一键获取亚马逊云科技中国区最新产品/服务资讯!

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

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

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

亚马逊云科技是谁?

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

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值