云计算正在各领域持续深化其影响力,同样,各领域下日益变化的需求,也在倒逼云计算不断进行自我优化。
2008 年可以说是大家比较公认的云计算元年,因为在这一年中越来越多的行业巨头和玩家注意到这块市场并开始入局。近年来,随着企业数字化转型在全球范围的普及,云计算产业得到了快速的发展。云正在重塑企业 IT 架构,外加上疫情的影响,数字化也被提上了许多企业的日程表,这更是加快了基于云服务的企业数字化转型。
但是力的作用是相互的,在改变行业的同时,行业也在改变着你。由于市场对于高效、快速、实时的需求越来越重,云计算的发展却逐渐“滞后”。原因在于过去十年来随着云计算的普及,许多应用和环境都已经变为了服务,开发者可以直接使用其中所集成的某一能力,是“构建一个框架运行在一台服务器上,对多个事件进行响应”的模式,但是这种模式对时下这种快速响应的需求已经感到了吃力。
2012 年,随着 Serverless 这一理念的推出,这一理念在霎时间就风靡了全球。在那个云计算还在努力扩张的时代,这种无服务器化的想法极大刺激了全球开发者的神经。Serverless 的出现更是将主机管理、操作系统管理、资源分配、扩容,甚至是应用逻辑的全部组件都集成为服务,开发者可以更直接的把大部分后台能力作为一个能力接口来使用。将开发过程中的能力使用改为服务使用,通过构建或使用一个微服务或微功能来响应事件。
那么这些企业为什么要采用 Serverless 呢?在此前 InfoQ 报道的一篇《2019 年 Serverless 应用报告:三分之二的落地实践都成功了?》的文章,其中提到了对于企业和开发者来说,促使他们使用 Serverless 最直接的因素有以下三点:
毫无疑问,这都是 Serverless 最具竞争力的优势。而这些深入人心的能力,就是 Serverless 在短短几年的发展历程中快速积累形成的。
Serverless 译为无服务器架构, 首次出现是在 2012 年;2014 年年底 AWS 推出了 Lambda 产品标志着 Serverless 逐渐走向商业化;2016 年 Google Cloud Function 和微软 Azure Function 的成功,使得 Serverless 理念开始成为趋势。
从理念空谈到实践落地,Serverless 开始走向繁荣。
提到 Serverless,很多人的第一印象就是 FaaS+BaaS,当然这是 Serverless 的一种实现形式,也是主流对 Serverless 的理解,但是对于 Serverless 的完整定义却一直都是这个领域内的问题之一。由于没有准确的定义,使得 Serverless 在前几年的定位过于宽泛,各类技术炒作也层出不穷。不过在最近几年的发展中,随着落地实践案例不断增多,业内对于 Serverless 的认知在加深,对于 Serverless 的定义也逐渐变得清晰。
Serverless 架构由两部分构成,分别是 FaaS 和 BasS。这种”XaaS“的名词类型想必每个人都很熟悉了,是表明在云计算时代下各种能力即服务的标准公式,而 FaaS+BaaS 就是函数即服务与后端即服务的结合。
后端好理解,函数即服务应该如何理解?开发者先将函数定义封装在容器中,通过调用函数来实现调用后端存储等服务,进而快速完成整个后端能力在整个产品中的效力的过程就是函数即服务(具体内容下文会提及)。不过需要强调的是,Serverless 虽然译为无服务器,但其并不是真的不需要服务器,而只是将服务器等基础设施的管理“隐藏”起来,开发者无需担心一切由平台维护,开发者只需关注业务逻辑即可。
IaaS 时代,基础设施即服务,用户不再需要购买实体硬件设施,预示着云计算时代的开启;SaaS 时代,软件及服务,各种线上能力开始在云端喷薄而出;BaaS 时代,仅提供应用依赖的第三方服务,只以 API 的方式提供应用依赖的后端服务;而在 FaaS 时代,用户直接提交代码包即可实现运行和部署,开发者不再关注底层,Serverless 必然将在这个阶段开始繁荣。
从全球范围来看,根据咨询公司 O’Reill 2019 年 12 月发布的 Serverless 使用调研报告显示,已有 40% 的受访者所在的组织采用了 Serverless,并且使用 Serverless 技术的行业也十分广泛。更值得关注的是,有超过 50% 的受访者在一至三年内采用 Serverless,而 15% 的受访者在三年前就已经开始使用 Serverless,其落地效率可见一斑。
接下来再将视野落脚在国内,Serverless 也迎来了其黄金发展阶段。
从空谈理念到技术选型的 C 位,Serverless 在国内逐渐成为实践核心。
虽然 Serverless 进入国内的时间相对较晚,但其发展速度却是最快的,国内企业对于 Serverless 的接受程度也越来越高。近几年国内的腾讯云、阿里云、华为云三大公有云厂商均开始提供基于 Serverless 框架的能力服务,其中腾讯云作为 Serverless 的先行者,近几年频频有大动作发声:
除此之外,腾讯云在 Serverless 的落地过程中也在长期保持务实的风格,而这种专注于实践能力的优化,也得到了全球咨询与服务机构 Forrester 认可。在 Forrester 最新发布的《The Forrester New WaveTM: Function-As-A- Service Platforms, Q1 2020》报告中,腾讯云 FaaS 能力凭借在产品体验、安全性、战略愿景等方面的绝对优势脱颖而出,综合评分位居全球前三,也是中国唯一进入全球 Top3 的云厂商,并被 Forrester 官方赞为“强劲表现者”,原因主要有以下几点:
很明显可以看出,腾讯云 Serverless 的技术体系和能力逐渐丰满并走向成熟。
从 2017 年至今,经过三年的沉淀,腾讯云 Serverless 的用户规模以及产品下载、调用等次数每年都在急速增长。在这三年中,腾讯云积极吸收用户反馈,结合时下行业遇到的通用性问题,不断丰富和完善 Serverless 的架构和能力。
而在底层基础设施方面,腾讯云 Serverless 采用了轻量化虚拟机技术,现阶段的 Serverless 架构能够轻松实现业务进程的毫秒级启动。并且腾讯云在最底层做了双活,加固了对底层资源的安全保护;在资源管理层,腾讯云采用了集群监控,如果一个集群出现故障,系统会自动切换到另一可用集群,尽可能将对用户的影响降到最低。此外随着用户量的增加,腾讯云也设置了专门的自动扩缩容算法,以应对用户的需求变化。
这里的用户当然是指使用 Serverless 的开发者群体,他们只需关注上图绿色部分以及和业务代码相关的的部分,其它底层设施完全交由腾讯云托管,极大缩短了整个研发周期,也不用因为服务器的维护而造成额外的支出。
Serverless 从来不是一款产品,也不是一个工具,而是一整套能力的合集。
如果要利用 Serverless 能力实现业务的落地,开发者需要依靠云函数 SCF、储存服务、开发者平台、开发者工具、应用服务等一系列能力的支持。而腾讯云则将这部分能力整合到了一起,推出了一站式 Serverless 应用开发平台 – 腾讯云 Serverless Framework。
这套框架是腾讯云选择了业内主流的 Serverless Framework 无服务器应用框架,结合国内开发者的习惯于业内痛点,为国内开发者打造的一站式 Serverless 应用开发平台,具有资源编排、自动伸缩、事件驱动等能力,覆盖编码、调试、测试、部署等全生命周期管理能力,帮助开发者通过联动云资源来迅速构建 Serverless 应用,为开发者提供了全面的 Serverless 应用开发环境。
Serverless Framework 作为一款标准化、组件化的 Serverless 应用开发平台,具体优势主要有以下几方面原因:
可以说,Serverless 架构的兴起,使得去服务器化真正解放了开发者,让基础设施管理有了新方式。随着技术上对去中心化、轻量虚拟化、细粒度计算的需求愈发强烈,这种“全云化”的开发模式也预示着真正的云计算时代正在到来。
但是在未来,如何更好地践行去服务器化,如何利用 Serverless 来帮助每一名开发者实现更低成本、更高效、更稳定的业务部署,这不仅仅是腾讯云在思考的问题,更是全球 Serverless 践行者一直在寻找的方向。
6月19日,ServerlessDays 将首次进入中国,更多详细内容可点击此链接访问大会官网查看。
领取专属 10元无门槛券
私享最新 技术干货