应用架构步入“无服务器”时代,Serverless 技术迎来新发展

摘要: 以“原生蓄力,云领未来”为主题的 2021 年云原生产业大会上,华为云 Serverless 函数服务产品经理分享了“华为云 Serverless 函数服务,让开发上云极简高效”的主题演讲。

5 月 26 日,以“原生蓄力,云领未来”为主题的 2021 年云原生产业大会在北京启幕,华为云 Serverless 函数工作流(FunctionGraph)通过了基础能力要求、平台可观测能力、服务性能、服务安全和服务计量准确性等五大类、20+项测试,以稳定、可靠、高效的服务能力荣获可信云函数即服务能力认证。同时,在云原生 2.0 分论坛环节,华为云 Serverless 函数服务产品经理分享了“华为云 Serverless 函数服务,让开发上云极简高效”的主题演讲。

应用架构步入“无服务器”时代,Serverless 技术迎来新发展

华为云 FunctionGraph 荣获可信云函数即服务能力认证

Serverless 作为云原生技术发展重要力量之一,开启了应用架构的“无服务器”时代,为架构设计、开发者编程带来了全新的思路。Serverless 技术的兴起,极大简化了云计算的编程模型,让开发人员无需关注服务器,聚焦应用创新。

应用架构不断演进,Serverless 2.0 全方位承载高效应用开发

应用复杂度的提升和云计算的发展不断推动应用架构、编程方式的持续演进。从最初的单体架构前期开发简单、快速,随着系统规模增大,因为架构耦合导致的无法独立升级、演进等问题持续放大。架构开始朝着微服务演进并逐渐成为主流,应用按照微服务粒度进行拆分,接口标准化,环境标准化,可以按天或周进行升级发布,帮助应用实现了快速迭代。服务架构给开发者带来了便利,但也带来了复杂度,用户依然需要关注服务器配置、后端服务管等运维工作,无法享受云带来的最大便利。

Serverless 架构是在微服务架构基础上的进一步延伸,按照业界通常的定义,Serverless = FaaS(Function as a Service) + BaaS(Backend as aService)。相比微服务,FaaS 将资源调度的粒度缩小到函数,针对无状态、短时处理任务,通过函数式编程方式,进一步降低了应用开发门槛,缩短了应用上线周期。但当前的 FaaS,通常不适合用于长时任务、大数据处理等工作,函数间通信时延性能较低,被称之为 Serverless 1.0 阶段。

到了 Serverless 2.0 阶段,将在此基础上大大扩展其应用范围,全场景支持各种应用负载。其典型特征包括:可以支持长时运行的任务;内置数据系统,可以支持有状态函数,支持大数据处理;内置通信系统,函数间可以通过总线进行高性能通信。

华为云 Serverless 函数工作流 FunctionGraph,让开发聚焦应用创新

华为云在 Serverless 技术的研究和实践过程中提出: Serverless 作为云计算下半场的计算范式,需要解决通用应用开发、原有应用系统无缝对接、支持异构硬件等问题,并且有完备的工具链、云服务,才能让更多的开发者享受 Serverless 带来的红利。

华为云 Serverless 函数工作流 FunctionGraph 是一款带编排能力的函数计算服务,提供了界面化管理、一站式的函数开发上线功能,支持 6 大类语言、支持 10+类的函数触发器类型;拥有丰富的触发器类型,通过事件触发集成多种云服务,满足不同场景需求;根据请求的并发数量自动调度资源运行函数,实现按需极速弹性;函数运行实例出现异常,系统会启动新的实例处理后续的请求,实现秒级故障自愈。

基于华为云 Serverless 的多场景应用与实践落地

Serverless 架构所具有的 IT 资源可根据需求弹性伸缩的特点,从场景上大致可分为以下几类:

类型一:单用途无状态类,典型的应用有小程序后端、Web 后端、三方服务商对接等。这类应用使用函数编程可以极大简化开发流程,做到小时级交付。

类型二:事件驱动类,如实时的图片处理、实时的数据流处理、IoT 的事件处理等。这是 Serverless 最典型的一类应用,特点是事件驱动+计算胶水层,计算胶水层的逻辑通过函数来实现。

类型三:弹性伸缩类应用,如视频转码、视频直播、热点事件推送等,这类应用的特征是通常无法预知流量大小,需要基础设施能够做到底层资源无感,自动的快速弹缩而不影响业务层的处理。

在华为云 Serverless 场景落地方面,已全面实现了在移动端的应用实践。比如:在 2020 年疫情期间,华为负一屏基于 Serverless 架构实现了“新型肺炎疫情实时播报”应用一天上线,极大提升了应用开发的敏捷性。

另外一个典型应用场景是关于视频处理中的 Serverless 实践,此场景中同一个视频直播流里需要插入多个 AI 特效渲染函数,函数间需要传递大量数据,在现有函数架构下需要经过多次外部存储读写,而通用采用状态内置的函数技术,将一次读写的访问耗时从 200ms 降低到 5ms,从而满足端到端业务时延要求。

在 2019 年伯克利发布的《Cloud Programming Simplified》展望中,提出 Serverless 将成为云计算的下一代默认计算范式。 对于云计算应用架构来说,“无服务器”时代的 Serverless 技术必将引领云计算下一个阶段,华为云亦将聚焦客户价值,聚力云原生 2.0Serverless 解决方案,大幕开启,创造无限可能!

点击关注,第一时间了解华为云新鲜技术~

上一篇:Serverless 2.0,鸡蛋还是银弹?


下一篇:Serverless:重新定义DevOps