全栈|全栈全场景Serverless,让开发变得高效简单

在新技术不断推陈出新、百花齐放的时代,开发者的终极梦想是什么?
这个问题的答案其实简单而又朴实:让开发这件事变得高效简单,开发应用的速度能够追上市场热点的脚步,无需过多考虑服务器等底层的资源和运维,无需与各种底层的接口打交道,真正回归开发的本身、聚焦应用的最核心——代码。在疫情期间,华为开发的“新冠肺炎疫情实时播报 ”手机快应用,仅仅用了1天上线,拥有7亿月活,这背后的秘密武器便是Serverless。
从2014年开始,Serverless逐渐成为热词,从部署敏捷性、弹性伸缩能力等方面来看,Serverless将带来量级的提升,由此在未来5~10年内,也被视为云计算的首要交付模式。Frost & Sullivan的数据显示,2020年中国 Serverless 服务市场规模是63.7亿元,在全球市场中占比约为 14.3%。随着 Serverless 架构的成熟及渗透率的增长,预计 2025 年,全球 Serverless 营收规模将达 1404.4 亿元,中国 Serverless 市场的扩张与全球市场基本一致,营收规模预计将达 218.2 亿元。
Serverless,云的未来
Serverless,顾名思义就是让业务感知不到底层资源,进一步聚焦业务创新。也就是把“粗活”交给云平台,用户只需专注应用开发。虽然到目前为止,业界对Serverless还没有一个清晰的定义,各方对于Serverless的理解也存在一些区别,华为认为,Serverless是云原生的第三代技术。
华为云PaaS服务产品部部长徐峰认为:“第一代技术是以KVM虚拟化技术为核心,把业务放在云上去,特征是以资源为中心,第二代技术是以云原生为核心,容器、微服务、DevOps被普遍采用,特征是以应用为中心。第三代Serverless核心其实就是让业务不聚焦基础设施,由事件驱动的应用架构,让所有业务未来就聚焦应用本身,这是Serverless带来一个新的变革。”
具体来说,从计算架构的演进方向上来看,从虚机到容器,再到Serverless,资源利用率越来越高;从应用架构的演进方向上来看,从单体到SOA、到微服务再到Serverless化架构,自动化的程度越来越高。而这两条演进线的汇聚点正是Serverless,由此可见,Serverless是下一代默认的计算范式。
全栈|全栈全场景Serverless,让开发变得高效简单
文章插图

虽然Serverless“真香”,但其在发展的过程中也存在一些问题,技术演进比较分散缺乏全面性,例如难以解决冷启动的性能、函数级服务只解决了在Serverless某一方面的问题。
当Serverless遇到全栈全场景
自2017年以来,华为云就开始在Serverless领域进行了很多探索和创新,面向Serverless的发展大势,华为云规划了Serverless全景视图,提出要打造全栈全场景Serverless能力的目标,并在音视频、数据处理、物联网、端测应用等场景优先推广落地,围绕这些场景进行打穿,推动相关的高阶服务进行Serverless化改造。
在华为全联接2021上,华为高级副总裁、华为云CEO、消费者云服务总裁张平安发布了全新的FunctionGraph函数计算服务。FunctionGraph提供新一代函数计算与编排服务,基于华为自研分布式内核,内置数据系统,业界首发同时支持有状态和无状态函数,能支持游戏、金融风控、机器学习等需要实时数据状态的复杂场景。比如在游戏的场景中,用户每次登陆都需要访问上次的房间、进展数据状态,如果通过无状态函数则需要频繁访问外置数据,时延过长,无法保证实时的体验,而有状态函数通过直接内部访问数据,可实现流畅的体验。
FunctionGraph能做到极致弹性,50毫秒冷启动,让函数快速启动调用资源。例如,华为视频利用FunctionGraph将转码时资源利用率提升60%。除此之外,FunctionGraph还与CloudIDE深度集成,多函数并行调测,调用链追踪,函数应用向导式构建,实现全生命周期管理,支持Web应用零改造实现Serverless化。