摘要:以“原生蓄力,云领未来”为主题的2021年云原生产业大会上,华为云Serverless函数服务产品经理分享了“华为云Serverless函数服务,让开发上云极简高效”的主题演讲。
5月26日,以“原生蓄力,云领未来”为主题的2021年云原生产业大会在北京启幕,华为云Serverless函数工作流(FunctionGraph)通过了基础能力要求、平台可观测能力、服务性能、服务安全和服务计量准确性等五大类、20+项测试,以稳定、可靠、高效的服务能力荣获可信云函数即服务能力认证。同时,在云原生2.0分论坛环节,华为云Serverless函数服务产品经理分享了“华为云Serverless函数服务,让开发上云极简高效”的主题演讲。
华为云FunctionGraph 荣获可信云函数即服务能力认证
Serverless作为云原生技术发展重要力量之一,开启了应用架构的“无服务器”时代,为架构设计、开发者编程带来了全新的思路。Serverless技术的兴起,极大简化了云计算的编程模型,让开发人员无需关注服务器,聚焦应用创新。
应用架构不断演进 Serverless 2.0 全方位承载高效应用开发
应用复杂度的提升和云计算的发展不断推动应用架构、编程方式的持续演进。从最初的单体架构前期开发简单、快速,随着系统规模增大,因为架构耦合导致的无法独立升级、演进等问题持续放大。架构开始朝着微服务演进并逐渐成为主流,应用按照微服务粒度进行拆分,接口标准化,环境标准化,可以按天或周进行升级发布,帮助应用实现了快速迭代。服务架构给开发者带来了便利,但也带来了复杂度,用户依然需要关注服务器配置、后端服务管等运维工作,无法享受云带来的最大便利。
Serverless架构是在微服务架构基础上的进一步延伸,按照业界通常的定义,Serverless = FaaS(Function as a Service) + BaaS(Backend as a Service)。相比微服务,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.0 Serverless解决方案,大幕开启,创造无限可能!