Serverless时代已来,华为云的思考、探索和实践
作者|康翔
编辑|阿冒 设计|沐由
2009 年,伯克利以独特的视角发布了一篇文献,正式定义了云计算,千行百业的IT基础设施由此迈入到新的时代。十年后的2019年,伯克利再度出手并预言:
“Serverless计算将会成为云时代默认的计算范式,并取代 Serverful(传统云)计算模式。”
“Serverless简化了云计算的编程,代表了程序员生产力的又一次的变革,一如编程语言从汇编时代演变为高级语言时代。”
还有些难以理解?那么我们从大家通常比较关心的收费问题来做一下说明吧!
云计算的最大优势之一,就是客户可以采用单位付费的模式,为他们享受的服务买单。在传统云的计算模式下,最小计费单元是60秒,而Serverless甚至可以做到1毫秒——这就意味着客户所花的每一分钱都用在了实处,用到了极致。
据此,伯克利认为Serverless将会在接下来的十年里,迅速地被采用,得到迅猛的发展。
作为全球前五、国内第二的云服务供应商,华为云始终走在技术发展的前列,对客户的应用趋势和需求高度敏感。从2017年以来,华为云已经在Serverless领域进行了诸多创新和探索,以三高一低(高弹性、高可用、高效率和低成本)的显著特性,赢得了一大批知名客户的高度认可。
Serverless带来跨越式的变革
企业级技术的发展,万变不离其宗,其根本指向必然是帮助企业降本增效,实现商业模式的创新。
经历了十多年的发展,虚拟机、容器、微服务等技术均是如此,它们将原先传统应用环境中的通用能力转换成云服务,客户可以低成本、高效率地触达。
Serverless也是同样,但又不止于此。
毫不夸张地说,Serverless带来了跨越式的变革。在这种模式下,主机管理、操作系统管理、部署运维、资源分配和扩缩容能力全部由云计算厂商提供,计算能力真正成为水电一样的公共服务。
在《将云中的编程变得简单:伯克利视角下的Serverless计算》一文中,作者对云计算的服务模式做了一个生动的例比:传统的云计算就像是为那些不想买车的用户,提供了租车的服务;Serverless则是进一步为这些用户,提供了计程车的服务。
其中,前者虽然不必花费整车的代价,但是在租车的过程中,保险、加油等费用,以及出行、驾驶等事宜,都是客户来处理;后者只需要为自己乘坐的里程付费,其他问题一概无涉。
怎么样,是不是高下立判?
对于客户来说,Serverless是Pay as you go(随用随付)的模式,只有当业务运行时才会占用资源,只有资源被占用了才会计费。不难想象,对那种存在明显波峰波谷的服务而言,Serverless的计费模式优势相当明显。
持续提升技术支撑
在7月27日的2021可信云大会上,华为分布式基础中间件技术专家郑伟博士发表了主题演讲,与广大嘉宾分享了华为云在Serverless领域的思考、探索和实践。
他指出,随着Serverless应用的发展,Serverless技术原先存在的部分问题开始显露出来,譬如冷启动时间过长、函数不可寻址,以及BaaS和三方服务SDK较多,并且集成难度较大等问题。
虽然在当前不是非常尖锐,不过对于客户的应用创新而言,毕竟是带来了些许的不便。好消息是,在华为云等主流厂商的推动之下,原有的这些技术难点正在不断被消解。
郑伟指出,华为云通过函数间高速总线,实现了低函数间通信时延,就被认为是一种行之有效的解决方案;通过函数高效连接BaaS框架,华为云也极大地简化了BaaS集成和访问……
总而言之,针对Serverless存在的部分短板,华为云集中资源进行了技术攻关,目前已取得了良好的进展,Serverless也得以持续深入到各种新的应用场景中。
以大数据应用开发为例,在传统模式下,客户需要进入到数据的全生命周期中,从采集、存储、清洗、关联,到分析、挖掘,再到大数据平台的安装部署,以及功能调用、调试、调优,事必躬亲、步步费心。
在Serverless模式下,由于云厂商以服务的形式提供大数据组件能力,因此客户只需要写完大数据应用程序,然后将之部署到Serverless上即可,所有的事情变得前所未有的简单。当然,假如客户有意愿,并且有能力进行调优,那自然是再好不过。
“Serverless架构使软件应用和服务器实现了解耦,用户的关注点可以更多地放在应用体验、服务改进,以及其他能够带来更高业务价值的地方。”郑伟表示。
Serverless的三大业务价值
华为云在Serverless领域的撒手锏之一,自然就是大名鼎鼎的FunctionGraph。在2017年问世之后,经过持续的演进与迭代,目前已经发展到2.0的版本,并且在诸多场景得到了大规模的应用。
这是一款带有编排能力的函数计算服务,它提供了界面化管理、一站式的云上/本地函数开发调试上线功能,支持多种编程语言(Node.js、Java、Python、自定义运行时等)、支持10+类的函数触发器类型。
就在当天的2021可信云大会的Serverless平台技术能力评估中,华为云FunctionGraph被中国信息通信研究院云计算与大数据研究所、云计算开源产业联盟等机构,共同评定为国内首批“先进级”平台。
华为云FunctionGrap2.0以YuanRongKernel(分布式内核)为底座,帮助更广泛的开发者使用Serverless开发方式,聚焦业务逻辑,零成本运维,并具备“端边云一体”的开发体验,全场景安全可靠的函数运行环境,完备高效的BaaS服务。
这里,我们列举三个例证来感受一下华为云FunctionGraph的威力:
对于Mock服务,大家应该不会陌生,它的作用主要是提高前端工程师的效率,然而由于租户间共享群资源,相互影响,导致开发和测试进度的滞后。
不过当服务构架于华为云FunctionGraph上之后,问题得到了彻底的解决。“典型的Serverless应用可以将开发和上线效率提升100%,将资源成本降低50%。”郑伟表示。
华为视频的例子同样很有代表性。在采用了视频业务基于函数实现的BFF(Backends For Frontends)模式之后,华为视频的登录速度提升了0.6-1秒,较原先的方案快30%-40%,绝对是效果拔群!
不难想象,在计算密集的视频应用领域,华为云FunctionGraph同样有十足的发挥空间。
以视频转码为例,无论做何种努力,传统架构的资源使用率都难以令人满意,而Serverless由于共享计算资源池,可以做到削峰填谷,因此能够节省高达80%的转码成本!
在郑伟看来,Serverless带来的业务价值主要体现在三个方面:
更轻量化:用户专注于业务创新和代码开发,代码运行环境由云平台提供,无需管理基础设施资源。
更快弹性:根据请求的并发数量自动调度资源运行函数,毫秒级弹性伸缩,高效应对业务峰值。
更低成本:根据函数调用次数、运行时长和节点转换次数计费,函数不运行时不产生费用,更加节省成本。
在YuanRongKernel(分布式内核)的加持之下,FunctionGraph不仅可以支持Web、移动、事件驱动型,以及IoT/端云等简单应用,还将支持大数据、流处理、机器学习、金融、求解器、在线游戏等复杂应用,让更多企业和开发者可以充分享受到Serverless带来的巨大红利。
Gartner曾经认为,到2020年,全球20%的企业将采用Serverless,从底层进行技术变革计算资源的形态,为企业的软件架构设计和应用服务部署引入创新的技术设计思路。
事实上,目前的数字已经远远超出了预期。显然,对于云计算应用架构来说,Serverless技术必将引领云计算下一个阶段,华为云也将在云原生2.0时代,进一步聚焦客户价值,为客户的创新提供无限可能!
欲看更多文章