“Serverless 的趋势在 2020 年刚刚到来,我认为2020 年是 Serverless 技术的元年,今年将会有大量的主流应用、主流企业,包括一些 500 强的企业的核心应用会从原来的主机架构或者容器的架构直接迁移到 Serverless”,腾讯云 Serverless 产品副总监张浩接受雷锋网在内的媒体采访时说道。
腾讯云将 Serverless 技术看作继虚拟机、容器之后的第三代通用计算技术,这是有原因的——2017 至 2019 年,腾讯云 Serverless 的用户规模、产品下载和调用等数据每年增长超过 10 倍以上,2020 年腾讯云也已经做好了规划。
Serverless 元年
Serverless 直译为无服务器,这是相对于客户视角而言,开发者无需关注底层服务器或者容器资源,只需使用平台支持的语言编写核心代码并设置代码运行的条件,底层计算资源包括服务器 CPU、内存、网络和其他配置/资源维护、代码部署、弹性伸缩、负载均衡等完全由云服务商来提供,并且按照代码实际运行时间收费,空闲时不收费。
最早提出 Serverless 概念的是 Amazon,2014 年年底 Amazon Lambda 也正式推出,此后全球各大云服务厂商相继推出各自的 Serverless 平台,典型如 Google Cloud Functions,Azure Functions,IBM Cloud Functions。
国内市场 Serverless 开始普及在 2017 年,腾讯无服务器云函数,阿里云函数计算相继推出,此外开源 Serverless 框架,如 Apache OpenWhisk,Spring Cloud Function,Lambada Framework,webtask 也不断涌现。
如同十多年前,没人能笃定云计算实现“No Hardware”,SalesForce 喊出“No Software”时也让人不解,Serverless 就这么接近爆发奇点。
2020 年是 Serverless 技术元年,张浩主要根据以下几点做出判断:
首先在技术层面,我们已经具备了支撑海量业务的能力。对 Serverless 技术了解的人都可能听说过有冷启动,在调用方面有冷启动、热启动一些问题。在 2017、2018 年的时候,很多开发者在用 Serverless 会垢病一个问题就是它的性能很差,来源于两个方面。
第一个是单次的调用,由于底层还是用的通用的容器、虚拟化的技术,在整个调用 Serverless 单元的生产过程中效率比较慢,往往触发一个请求,在弹性扩缩的时候,会带来前端大量的超时。腾讯现在会把整个冷启动的 SLA 的概率降到 5 个 9 以下,非常小的概率才会遇到冷启动。
在遇到冷启动的情况下,我们也在 200 毫秒以内分配一些新的布点。这只是 Serverless 突破的一个新的点,包括还有在虚拟网络的加速,包括做租户隔离的安全方面的升级等等,我们都在技术基础领域会去做到支撑这种核心的应用迁移到 Serverless,已经有一些高海量的发布业务如腾讯视频等海量服务正在迁移到 Serverless 平台,每秒的 QBS 并发是 5 万或者 10 万,会全量上到 Serverless 平台。
市场和客户认知方面,其实客户是非常理性和可观的,我们在见一些客户决策者的时候,他们一下就能 get 到,你这个东西就是我想要的,说出了我的心里话,CTO 的本质的价值就是要让产品更快速地上线,让技术架构更快速地适应市场的变化,以及技术架构是稳定、可靠、可扩展的,Serverless 技术完全吻合诉求。
当然在这个过程中,实际的落地缺乏一些开发者工具以及缺乏生态的支持,会让一些决策者非常疑惑,是不是真的要 all in。在这个过程中,随着能力的提升,我们会有大量的开发者包括一些公司的决策者把新型应用逐步在 Serverless 里面试水,而且现在已经有非常良好的一个反馈。包括像在小程序领域,最近像新冠肺炎的疫情,在小程序那一块,可以看到大量的开发者真的是有钱出钱有力出力,能写代码就写代码,贡献了非常多的疫情监控、检测、健康码等等很多的技术,也是通过小程序和 Serverless 的创新,也得到了一个广泛的价值认证和落地,可能我提出一个 idea 到真正落地,用 Serverless 加小程序三两天就上线了,而且能够推广到全国一个大屏的监控,一个小区的疫情管理系统等等。
“从底层技术的发展以及客户对 Serverless 的一个认知,到 Serverless 价值的落地逐步被大家接受,在2020 年,我们会继续迎来 10 倍以上甚至 20 倍、30 倍的爆发性的增长,腾讯在这方面做好了一个准备。”张浩表示。
雷锋网了解到,Serverless 现在主流的客户群体主要还是一些有快速迭代应用、能够在C端有快速响应的一些场景,比如像小程序,移动互联网应用,创业类以及一些腰部互联网公司,这些企业没有历史 IT 负担敢于接受新技术快速创新以及迭代它的业务。
Serverless 的三座大山与腾讯云的“三板斧”
新生事物总要经历由概念到落地痛苦的适应过程,Serverless 也不例外,目前摆在 Serverless 技术落地面前的三座大山,腾讯云也针对性的做出应对。
首先就是成本和费用,Serverless 追求按需索取、按量付费,但是业内很多厂商不是站在开发者的角度设计计费系统,导致开发者在使用过程中没有能完全享受到按量付费、按需索取的一个价值,相比云主机按秒付费,目前行业内已经将 Serverless 架构的计费粒度普遍降低到 100 毫秒,但在实际应用中依然有大量实际运行时长少于 100 毫秒的业务场景依然按照 100 毫秒计费。
以实际运行时长 30 毫秒的场景来说,如果按照 100 毫秒计费的话,相当于用户多花费了 70% 的资源费用。这实际上给开发者造成了不必要的成本压力。腾讯云大胆的推出一毫秒级别的计费模式,这应该是目前在整个云计算领域最小颗粒度以及最精准的计费颗粒度,意味着所有请求调用实现真正按量计费,预计将在云厂商之间引起示范效应。
第二座大山是生态问题,Serverless 前期因为生态缺乏而被诟病,要想更进一步,生态问题无法回避。每个厂商都希望推出自己的标准,函数调用、事件触发、函数黄金变量定义以及标准等等都是封闭的,缺乏开源的规范和开源的生态支持。相似的一幕曾经在容器领域上演,直到后来 kubernetes 成为事实标准,Serverless 还在寻找自己的事实标准。
腾讯云则首先瞄准自家微信,在微信内构建起完善的生态。比如,在微信生态,推出的“小程序·云开发”产品,由于可以大幅提升小程序的开发效率,上线一年后注册账户即超过 23 万,为超过 50 万开发者提供服务。
在开源生态建设层面,腾讯云通过开源协同的方式持续向 Serverless framework 社区贡献。该项目在 GitHub 上 Star 数超过 3.5 万,日下载量超过 4 万,是全球最流行的 Serverless 开源开发框架,其中的 serverless 应用商城提供 Vue、 React 、Express、Koa 等前端、web 端、全栈应用组件。
第三板斧针对开发者,Serverless 的真正使用者是开发者,而现在开发者缺乏一些好的工具,整体环境环境还不够友好。
腾讯云则针对针对 Serverless 架构下的开发、运维、调试和部署等全生命周期的能力建设,落地 Serverless 开发的全云端闭环体验,同时,为开发者提供了企业级 Serverless 项目上云的最佳实践。
开发者只需要通过 3 步即云端部署,云端调试、云端运维就可以实现全云端开发体验,解决传统本地开发模式云上产品配置复杂,学习成本高,框架迁移难以无缝部署到云端,调试效率低下等开发困境,实现服务部署。
在全球独立咨询与服务机构 Forrester 日前发布的《TheForrester New WaveTM: Function-As-A- Service Platforms, Q1 2020》报告中。腾讯云 FaaS 能力综合评分获得全球前三,中国第一,成为中国唯一进入全球 Top3 的云厂商。