服务
关于
CloudProse博客
Think FaaS播客

为什么我们'对AWS AppSync感到兴奋-Think FaaS播客

Forrest打破了AWS AppSync,'middle tier',以及无服务器世界中后端开发的未来。
福雷斯特Brazeal Trek10 191210 171202
阿甘(Forrest Brazeal) | 2018年5月3日

2018年5月3日,星期四

在Google Play上订阅 订阅苹果播客

成绩单

嗨,我是Trek10的Forrest Brazeal,这是“ Think FaaS”,在这里我们比运行Lambda函数花费更少的时间了解无服务器计算的世界。因此,请紧记五分钟-现在是“ Think FaaS”的时候了。

AWS以令人迷惑的速度发布了新的服务和功能,因此,如果您错过了几周前宣布现在可以普遍使用AWS AppSync的声明,也不要感到难过。自11月re:Invent以来,AppSync一直处于预览阶段,尽管它的名字听起来有些匿名,但实际上它是一款颇具野心的产品。实际上,它使您可以将完全托管的后端设置为GraphQL API的服务,并为应用程序客户端提供实时更新和脱机同步。它也很便宜。我们在Trek10的一些无服务器项目上一直使用AppSync,出于几个原因,我们对此感到越来越兴奋。

首先,它使实时无服务器应用程序变得更加可行。 在使用AppSync之前,如果您想对无服务器应用程序进行实时更新,则您的选择确实受到限制,因为Lambda函数无法保持打开Web套接字的速度。通过AWS 物联网 传递消息时,您可以做一些疯狂的骇人行为,但是AppSync最终带来了这种本机功能,可以订阅应用程序,实时获取更新以及同步脱机数据。您可以将其视为Firebase的竞争对手,但可以使用所需的任何数据库后端。现在,已有DynamoDB和ElasticSearch的本机集成,您可以插入Lambda函数以缩小差距。

其次,它距离“无代码”后端开发更近了一步。 我最近将AppSync用于需要GraphQL API的客户端项目。为了使基本的前后查询API正常工作,我编写了没有代码的总计。我定义了一个GraphQL模式,添加了两个VTL映射模板,以告诉AppSync如何将数据导入DynamoDB和从中导出。我不必导入任何GraphQL库,也不必编写代码来查询数据库-AppSync负责所有这些工作,同时仍然使我能够灵活地通过config定义行为。减少技术债务确实是令人兴奋的。

所有这一切都有双峰趋势,人们喜欢 乔·艾米森 一直在谈论 几年来。我们正在使用Aurora和DynamoDB等可扩展服务在云中整合数据。我们看到前端应用程序被推到了边缘并直接在设备上运行。但是中间层-应用程序服务器,Web服务器以及您以前必须编写的所有中间文件,以便将用户连接到他们的数据-越来越不见了,或者被抽象到了诸如AppSync之类的托管服务中。

这就是为什么我们一直说 containers and container orchestration, 所有 of which thrive in that 中间层, might be a distraction 对于很多人来说。如果您可以在边缘部署应用程序,并大规模地依赖托管后端,那么滚动自己的容器的许多原因就会消失。这也意味着,如果您将自己描述为“后端开发人员”,并且维持CRUD API为生,那么可能是时候提高技能了。将数据映射到API调用不再是一个问题的有趣了,只会变得更加抽象。

回到AppSync,他们在GA版本中添加了几个非常关键的功能-CloudFormation支持和CloudWatch日志,以及一些基本的开发人员工具,所以我想说它可以在您的下一个项目中使用。但是仍然有 我们希望看到一些重要的事情。

链式旋转变压器 真的很好。现在,如果您的数据中有任意数量的遍历,您可能会写Lambda解析器,请记住,我们想编写的代码更少,而不是更多。要记住的重要一点是GraphQL本身是一个相对较新的概念,并且GraphQL API的一般最佳实践仍在不断发展。因此,我实际上希望AppSync能够帮助该社区发展壮大。 AWS在外部开放源代码项目方面的贡献并没有令人赞叹的记录,这是改变它的好时机。

我希望看到AppSync采用 API Gateway提供的更多功能。 我知道,API网关有其缺点,但它也具有使用计划,API调用的速率限制以及授权方面的众多选择的良好概念。当您直接转到AppSync端点时,您将失去很多控制权。实际上,我已经将API Gateway放在AppSync的前面,并通过HTTP代理传递了数据以获取这些功能。可以,但是很明显,如果AppSync具有本地控件,那将是理想的选择。

A 本地RDS 或一般的HTTP数据集成将非常棒,希望有某种托管连接池,这样您就不必关闭数据库。当然,如果以及当AWS Neptune进入GA时,我们也希望看到那里的集成。关键是,AppSync非常令人兴奋,您立即开始考虑要使用它进行的更多操作,这是一个很大的问题。

这样,我就必须编写我的第一个AppSync CloudFormation模板,所以今天我要签字。如果您正在寻找更多的无服务器更新,可以通过在Twitter @ Trek10Inc上关注Trek10来保持最新状态,我也有@forrestbrazeal,我们将在下一集Think Faas中与您见面。

作者
福雷斯特Brazeal Trek10 191210 171202
阿甘(Forrest Brazeal)