Serverless只是事件驱动架构的中转站吗? – thenewstack


最近回顾了由云原生计算基金会支持的 SlashData的云原生开发状态报告,该报告显示,从 2020 年第一季度到 2021 年第一季度,云原生技术在下降。
这让我认为无服务器的炒作已经平息,但这并不意味着无服务器不会存在很长时间。
这一趋势反映出人们越来越担心无服务器技术缺乏广泛采用所需的灵活性,以及​​组织不愿承诺使用特定技术或提供商。
这让我反思了几年前的另一个云趋势,即平台即服务 (PaaS)。有一段时间,AWS Elastic Beanstalk、Heroku 和 Cloud Foundry 被吹捧为应用程序部署的未来,但它们也受到模板化方法的困扰,缺乏满足企业更广泛需求的灵活性。

无服务器的采用在早期增长非常迅速,在想要在云中快速部署应用程序的 Node.js 用户中得到了广泛采用,主要是在 AWS Lambda 上。

无服务器确实说明了许多理想的特征。放大和缩小都很容易。它由推送的事件触发,而不是通过轮询机制触发。函数仅根据该作业的需求消耗资源,然后退出并为其他工作负载释放资源。开发人员从基础架构的抽象中受益,并且可以通过他们的 CI/CD 管道轻松部署代码,而无需担心如何配置资源。

无服务器并不是为许多情况而设计的:包括长时间运行的应用程序。对于最终用户而言,它们实际上可能比在容器、VM 或裸机上运行专用应用程序更昂贵。作为一个固执己见的解决方案,它迫使开发人员进入由供应商提供的模型。此外,无服务器没有简单的方法来处理状态。

尽管无服务器部署主要部署在云中,但它们并不容易跨云提供商部署。管理 serverless 的工具和机制非常特定于云,尽管也许通过向 CNCF捐赠Knative,可能会有一个可以在行业支持下开发和部署的 serverless 平台,就像 Kubernetes 一样。

关键是,无服务器成功背后有一个云原生计算中一个更有趣、更大的趋势:事件驱动架构(EDA)。
 
云原生计算中的事件驱动架构
在 Coleman Parkes 进行的名为“伟大的 EDA 迁移”的调查中,大多数组织(85%)认识到采用事件驱动架构的关键业务价值,但采用仍处于早期阶段,因为只有 13% 的组织声称已达到完全的 EDA 成熟度。
根据这项研究,实时数据最常见的三种应用是:

  • 应用集成——无服务器用例属于这一类;
  • 跨应用程序的数据共享;并
  • 连接物联网设备以进行数据摄取和/或分析。

现在是考虑构建事件驱动架构的时候了。如果您希望增加数据的新鲜度并改善您的数字交互,EDA 可以产生改进,并且这样做的工具比以往任何时候都更好。

首先,有越来越多的免费和开源工具允许企业创建数据流;Apache Kafka 和 Apache Pulsar 位居榜首。此外,原生云开发的应用程序可以提供从本地数据到几乎任何提供 Kubernetes 的云的可移植性。

随着企业对实时信息的渴求以及需要使用该数据的系统数量的增长,向事件驱动架构的架构模式的迁移也将增长。