Serverless计算应用场景与潜力

Serverless计算敏捷灵活,适用门槛低,综合成本低的优势,特别适合以下几个场景:

视频,图片以及流式事件处理

其本质上是需要一种通用的,可自定义的,工作流应用。当前的工作流一般都是针对具体场景的,尚无支持自定义逻辑并且适用于各种类型事件的分布式工作流。而基于 Serverless计算有可能诞生这样一种工作流。通过与Flink,Spark Streaming这样的流式大数据处理平台结合,Serverless计算模型将充分发挥其价值。

事件驱动以及响应式架构

这个场景和视频图片流场景有相似之处,只不过前一个关注的是应用场景,这条单指技术架构场景。服务器端的事件驱动和响应式架构和客户端技术相比,一直缺少一种统一的体系解决方案,主要原因是服务器端缺少分布式系统级别的支持,纯开发框架的方式实现比较困难,如果调度系统和开发框架配合,实现这种架构就比较容易了。

物联网场景实际上和前面的流式事件处理以及事件驱动架构都有关系。这里单独作为一条阐述,主要是物联网对应用开发带来的不仅仅是架构上的变化。互联网主要是信息技术,主要是面向人的应用,要求及时把信息展示给用户,所以应用多是 http 的请求响应模式,对延迟比较敏感(毫秒级)。而物联网场景下,多是事件触发,哪怕有人参与的场景,比如智能开关,也是触发事件后控制另外的设备,对延迟忍耐度较高(秒级),协议多也不是 http,而是物联网相关的消息协议。

应用系统的自定义扩展需求

任何一个标准的系统,发展到一定程度都会有不同的自定义扩展需求。一种是提供内置扩展机制,比如 Java 的许多应用,可以允许在应用中增加扩展,应用自己通过 jvm 的隔离机制提供插件运行环境。另外一种是通过远程接口(无论是 http 还是其他远程协议),由用户按照协议实现自定义需求,然后整合,应用本身不提供扩展运行环境。前者对编程语言有约束,隔离性差,后者开发运维成本比较高。如果基于Serverless计算支持一种分布式的扩展运行环境,自动和应用整合,相当于兼有了二者的优势。可以预见,在未来几年里,大多数 SaaS 以及 API 服务都会提供类似Serverless计算的环境来托管用户的自定义扩展。如果私有环境中也有标品,私有部署的应用也会逐渐提供这种整合能力。

跨云与混合云场景

当前大多数混合云解决方案都只能做到基础设施的混合,至于用户的应用要实现多云,则只能在用户自己的应用中处理,云平台能提供的帮助有限。但因为Serverless计算侵入了应用的架构,接管了应用的事件输入,乃至事件输出,所以它可以做的更多,也可能提供一种基于Serverless计算的混合云开发框架,用户按照架构模式实现逻辑就天然跨云。

边缘计算场景

边缘计算当前的应用场景还没凸显出来,但可以预见的是,边缘的计算能力肯定不如云端,更小的资源使用粒度对边缘更友好。此外,边缘的具体资源要对用户透明。从以上两点来看, Serverless计算对边缘计算是天然友好的。同时,边缘计算要解决的很多问题和混合云场景类似。

你可能感兴趣的:(云端,云原生)