服务
关于
CloudProse博客
无服务器

有关以下内容的注释:发明:无功能的上升

AWS继续发布新功能,因此您可以编写更少的功能代码
安迪·沃宗(Andy Warzon)Trek10
安迪·沃宗(Andy Warzon) | 2019年11月27日

在Trek10上,我们热爱“ pre:Invent”季……这些天,AWS倾向于在re:Invent的前一周发布大量公告,以便他们将主题演讲的重点放在一些非常重要的新服务和类别上。作为真正了解AWS服务深度的用户,我们喜欢看到这些公告:我们最喜欢的服务变得越来越好,而新的服务终于变得光彩照人。

今年,我们看到的趋势之一是越来越多的AWS功能可以实现“无功能”架构的想法。

这不是一个新主意。我们的许多朋友最近都在谈论这一点,例如 这个伟大的作品 杰里米·戴利(Jeremy Daly)在Stackery的Chase Douglas的作品中 无服务器聊天播客 乐高的Sheen Brisals,Trek10自己的《阿甘正传》和贾里德·肖特(Jared Short) Think Faas播客的“ FaaS的未来”一集。基本思想是拥有和管理的定制代码越少越好。如果您可以让云原生组件在本地处理更多功能,那么您将获得易于维护且更具弹性的系统,并且可以更快地构建并专注于独特的业务逻辑。与使用您选择的语言编写的内容相比,使用YAML配置云服务通常要简单得多,而且更容易理解。

那么有什么新消息?

最终,无功能将由云服务功能驱动。这是一个好主意,但除非具备该功能,否则它不可能成为现实。这就是为什么看到AWS在这些pre:Invent公告中取得如此飞速进步的原因,这真令人激动。

物联网核心HTTP目标

物联网核心除其他外,还可以通过“ IOT规则”驱动的“ IOT操作”将数据路由到其他服务。当然,有一个动作是触发Lambda函数,因此您可以使用自己的代码处理IOT数据,但是已经有 许多其他动作 与其他AWS服务的直接集成,这些服务使我们可以构建无功能的架构(即不需要Lambda):例如,从IOT Core直接写入DynamoDB或IOT Analytics或Kinesis Firehose。

现在另一个选择是 HTTP目标。这就打开了无功能用例的全新世界……如果您有需要将数据从IOT设备传送到任意REST API的数据,则无需任何Lambda函数就可以做到这一点。这可能是您内部的旧版应用程序,也可能是第三方。 (请注意,HTTP Targets需要验证您对端点的所有权,因此弄清楚该端点如何与第三方API配合使用需要进行一些研究。)我们最喜欢的第三方提供商之一是Datadog,因此我们计划尝试构建直接的,无功能的IOT Core和Datadog之间的集成。如果您有兴趣尝试使用针对HTTP目标的新IOT操作,请查看 这个新教程.

Lambda目的地

这是一 令人兴奋的新建筑组件 适用于无服务器系统,以及AWS如何减少我们必须编写的代码量的另一个示例。正如AWS所说, 使用目标,您可以将异步功能结果作为执行记录路由到目标资源,而无需编写其他代码。以前,如果您有异步工作要作为更大流程的一部分来处理,则需要同步等待响应或编写其他代码来处理协调函数执行,重试以及使用死信队列进行失败的处理。 Lambda目的地将所有操作简化为简单的配置设置。

也可以用作SQS,SNS或 事件桥。您无需编写将事件放在这些AWS服务上的代码,只需设置Destination和voila,事件在功能完成后就会显示在此处。

物联网Greengrass的流管理器

这是AWS在两个常用服务之间建立直接集成的又一个很好的例子,从而消除了对Lambda函数代码的需求。

在这种情况下,服务是 绿草地, 运动学物联网分析。 绿草地通过网关设备将AWS服务功能带到了边缘。典型的用例是使用本地通信协议的IOT设备将数据流传输到网关,该网关可以过滤和聚合数据并将其推送到AWS中的Kinesis或IOT Analytics,在此可以对其进行进一步处理和使用。这样可以降低IOT设备的功耗和带宽成本。

以前,您必须在Lambda函数(在Greengrass上本地部署)中编写自己的代码,以汇总数据并将数据发送到IOT Analytics或Kinesis。 流管理器 现在为您处理此问题,包括优先级管理,带宽利用率,聚合,超时和间歇性连接。这些高级功能使“无功能”的价值真正变得显而易见。保存几行代码来将消息发送到Kinesis是一回事,但是当您考虑所有开发人员可以自己编写这种鲁棒性的代码时,这是另一回事。

在Trek10,我们期待以更少的代码为我们的客户加快构建速度,并很高兴看到AWS随着re:Invent的推出推出了其他“无功能”功能。

作者
安迪·沃宗(Andy Warzon)Trek10
安迪·沃宗(Andy Warzon)

创办人& CTO

创办人&CTO Andy一直在AWS上进行开发已有十多年,并且是AWS认证解决方案架构师-专业人士。