[摘要]Serverless落地应用增多,市场格局初定,云服务商纷纷试水,机会与挑战并存。
3月10日,云原生基金会CNCF发布了2019年年度调查报告。41%的受访者表示已经在使用无服务器Serverless计算,20%的受访者表示计划在未来12-18个月应用Serverless计算。
之前的3月1日,市场研究机构Forrester发布的最新报告认为,Serverless计算的兴起,让FaaS成为继IaaS、PaaS、SaaS之后一种新的云计算能力提供方式。
在Serverless计算最主要的技术方向——函数即服务平台(FaaS)方面,AWS、微软两家企业居于领导者象限,腾讯云、阿里云与谷歌云、Nimbella、IBM、Cloudflare等处于强劲表现者象限,Oracle则处于挑战者象限。
云计算企业已经习惯了“大投入有大回报”的行业规律。从2014年开始,云服务商不管是AWS、微软、谷歌云,还是国内的阿里云、腾讯云、华为云、百度智能云等,在Serverless上都有大笔投入。
2020年,Serverless服务市场将迎来大爆发的机会。而现在Serverless服务市场新座次的排定,意味着一个新市场的盛宴开场了。
1、Serverless到了爆发的时候了
14年前,当谷歌、AWS提出云计算会实现“NoHardware”时,IBM、HP等企业肯定会哑然失笑。
14年后,云计算迎来拐点,2019年全球云上的IT基础设施占比首次超过传统的数据中心,成为市场的主导者。
大概十多年前,Salesforce喊出“NoSoftware”时,甲骨文对此嗤之以鼻,“量你也搞不出多大大名堂”。
十年后,Salesforce成为一家市值超过上千亿美元的CRM SaaS服务公司,甲骨文也不得不紧随其后,让软件上云。
云计算产业的发展离不开营销、销售,但是技术创新在云计算产业发展中所发挥的作用被验证了无数次。
2014年,AWS首先提出Serverless计算,推出了将云计算按需使用、按量计费粒度降低的新技术。若干年后再看,会不会像NoHardware、NoSoftware一样改变产业格局呢?
2020年年初,Serverless计算就这么接近了爆发的奇点。
KBV研究公司发布的最新报告《全球Serverless架构市场》显示,Serverless计算已发展成为部署云应用和服务的一个关键要素。全球Serverless架构市场的规模预计到2024年将达到140亿美元,预测期内将以23.4%的年复合增长率增长。
在接受中国软件网等媒体记者采访时,腾讯云Serverless产品副总监张浩明确表示:“Serverless市场大爆发的时候到了,2020年将是Serverless技术的元年,将会有大量的主流应用,主流企业包括一些世界500强企业的核心应用将会从原来的主机架构或者容器架构迁移到Serverless。”已经有一些海量的业务如腾讯视频等海量服务正在迁移到Serverless平台。
在技术层面,Serverless计算已经具备了支撑海量业务的能力。
他说,在2017、2018年,很多开发者在用Serverless计算时经常垢病的一个问题就是性能差。原因是由于底层还是采用通用的容器、虚拟化的技术,在整个调用Serverless单元的生产过程中效率比较慢,往往触发一个请求,在弹性扩缩时,会带来前端大量的超时。而腾讯云现在把SLA的概率提高到了5个9之上,把整个冷启动的概率降低足够低。
张浩介绍说:“在遇到冷启动的情况下,我们会在200毫秒以内分配一些新的布点。同时,在虚拟网络的加速、租户隔离安全的升级等技术基础领域,做到支撑核心的应用迁移到Serverless。”
Elastic中国公司总经理王刚告诉中国软件网,在市场和客户认知方面,企业CTO的核心要求就是让产品更快速地上线,让技术架构更快速地适应市场的变化,同时技术架构是稳定、可靠、可扩展的。从这两方面看,目前Serverless技术完全吻合诉求,具有扩展应用的机会。
京东云技术专家张金柱接受采访时表示,从IaaS过渡到微服务以及现在的Serverless,云计算让业务人员不用过多担心技术,而是专注业务。从软件架构发展的角度,单体结构发展到微服务以及分布式,都是技术迭代的必然结果。
至于Serverless对于SaaS服务商的影响,张金柱表示,如果非得要谈Serverless对于SaaS服务的影响,只能说让SaaS服务专注于业务,可以自动扩容。对于SaaS开发,则一点影响都没有。
接受记者采访的多个SaaS服务商则明确表示,底层技术包括Serverless对应用层及业务影响不大。Serverless对于SaaS服务开发与部署几乎没有影响。
张浩表示,从底层技术的发展以及客户对Serverless的一个认知,到Serverless价值的落地逐步被大家接受,在2020年,市场将会继续迎来10倍以上甚至20倍、30倍的爆发性的增长。
2、Serverless是云计算第三代通用计算技术
云计算有计算、存储、网络、数据库、AI等各种技术,Serverless属于计算大类,就是无服务器技术。
在云原生计算基金会给出的Serverless的定义中,有几个核心点:
首先,Serverless计算并不意味着不再需要使用服务器来运行代码,代码仍需要运行在服务器上,对外提供服务。只是服务器与用户不直接面对面了。AWS Lambda之类的服务后面有一大堆服务器。核心要义是在无服务计算时代,研发人员无需对服务器进行监控、配置、更新、扩容等运维操作。
其次,客户只需要将代码上传到云厂商提供的无服务器计算平台上即可,云服务商会保证代码能正常运行,当流量突增时,自动对服务器进行扩容;流量减少时,对服务器进行缩容。
第三,Serverless可以根据用户请求来计费,完全做到按量计费。Serverless技术可以让云计算做到像使用水和用电一样,按需索取,并能真正做到按量付费。
第四,运维操作对研发人员来说都是黑盒的,会将开发人员从繁琐的运维工作中解放出来。
一个互联网应用一般要经历三个环节——产品设计、产品开发以及产品运维运营。现在大量的开发者和企业已经认可了云计算的模式,往往把产品运维环节交给云服务商完成。
但是并不是所有的运营团队都拥有完整的技术架构部门和专家团队,产品的稳定性和业务的稳定性会遇到挑战。Serverless的价值就是让用户把所有的人力和精力聚焦产品设计和产品开发,而把运维彻底交给运营商,降低用户成本和运维的难度。
百度智能云宋亚鹏告诉中国软件网,和DevOps概念提倡的通过一系列工具和自动化的技术来降低运维的难度,促进研发运维一体化不同,Serverless更像是一种NoOps,即通过“不用做”的方式来解决“如何更高效做”的问题。
一般认为Serverless应用使用的技术包括BaaS与FaaS两类。BaaS(Backendas a Service,后端即服务),提供的是后端服务级支持,主要针对一些富客户端应用。FaaS(Functionas a Service,函数即服务),其中的函数是业务逻辑代码的执行单元,提供的是代码级支持。
需要注意的是,这两个领域是有重叠的。目前大家广泛讨论的Serverless主要集中在FaaS方向,也是国内外云服务商争抢的领域。
百度智能云提供的函数计算的基本使用流程
资料来源:百度智能云
因此,Serverless也被称为函数计算。函数计算的基本使用流程包括创建函数、提供代码、配置触发器、配置运行环境、执行函数、查看日志等。
张浩说,腾讯云把Serverless技术看作是继虚拟机、容器之后的第三代通用计算技术。
那么,Serverless计算能给用户带来哪些价值呢?O’Reilly最近针对Serverless的应用情况进行了调查。
Serverless 计算能给用户带来价值
资料来源:O’Reilly
结果表明,用户最看重的三大价值包括:
首先,减少运营成本是大家采用Serverless的第一大原因,应用Serverless之后,就无需为潜在的流量高峰购买大部分时间处于空闲状态的服务器。
第二,自动按需扩展。采用了Serverless之后,可以随时扩展到当前的使用量,消除了意外或者季节性流量高峰的困扰。
第三,不要关注服务器的维护工作。由于企业中大部分开发人员都是软件工程师,并不是系统管理员,所以对于软件的修复、保护和管理并不擅长,而使用Serverless之后,这些工作都可以交给供应商。
3、Serverless服务市场格局初步形成
Forrester的报告已经给出了Serverless计算的几大阵营,以及几大阵营中不同企业的位置。
Forrester的报告聚焦于全球领先云厂商,从开发体验、编程模式、编译环境等十个维度综合考量,全面评估FaaS服务综合实力,帮助企业用户甄选适合自身的Serverless计算服务提供商。
第一大阵营当然是公有云市场的几大巨头,提供Serverless计算服务。居于领导者象限的AWS、微软,处于强劲表现者象限的中国的腾讯云、阿里云,以及谷歌云。
Serverless的市场格局基本上是IaaS市场格局的复制。Serverless技术首先由AWS提出,并率先推出云服务,其他企业基本上是跟随者。微软、谷歌云等提供了Serverless云服务。
中国云计算企业在Serverless发展中迅速跨入先行者行列。腾讯云FaaS能力凭借在产品体验、安全性、战略愿景等方面的优势脱颖而出,成为中国进入全球Top3的云厂商。
阿里云2018年正式启动内部Serverless资源底座的准备工作,2019年基于搭建好的底座建设上层前端框架,到2019年双十一,阿里云已经在部分电商导购业务上开始实践这套新的研发模式。
另一阵营就是包括即将从公有云市场转入PaaS市场的IBM、Oracle等企业,提供Serverless创建平台、工具。
行业专家认为,IBM在2019年收购Red Hat和Oracle与微软结为合作伙伴,表明了这两家公司在2020年的发展方向。
IBM和Oracle正在将重点从云提供商领域转移到开发平台领域。IBM和Oracle试图在公共云市场一较高下,但是根本没有足够的资金与另外四家云巨头相比拼。
IBM会改而专注于帮助客户通过任何主要的云供应商使用OpenShift开发平台,更新和改造核心业务应用软件。
IBM Bluemix云端平台推出OpenWhisk服务,同时将OpenWhisk以开放原始码模式释出,提供企业自建Serverless架构。
而Oracle将专注于其擅长的领域——软件即服务(SaaS)和自主数据库产品,引导客户使用Azure的云开发服务,包括AI/机器学习、Kubernetes/容器、物联网及其他新兴创新技术。
Oracle发布了Fn,Fn是一个新开源的、云平台无关的Serverless平台。它初始启动时拥有广泛的Java能力和一个JUnit测试框架,但也支持“任何编程语言”。
第三阵营就是创新企业Nimbella、Cloudflare等,提供Serverless创建工具。
使用Nimbella、Cloudflare等提供的工具,可以轻松构建、管理、测试、监控用户的无服务器应用架构。
第四阵营就是开源FaaS平台/框架/工具。尽管各个云厂商都在大力推广自己的Serverless服务、产品,但是开发者普遍还是会担心被厂商绑定,因此具备一定规模的组织会基于开源方案,如Knative,搭建自己的Serverless平台。而一旦某个开源方案成为主流,云厂商就会主动去兼容开源标准并增大社区投入。
目前,Serverless开源项目很多,如目前GitHubStar数最高的Serverless框架,与主流云厂商集成得很好。Knative是Google发布的基于Kubernetes的Serverless框架。分布式无服务器平台OpenWhisk最开始由IBM和Adobe驱动,后来捐给Apache基金会,2019年7月晋升为顶级项目等。
4、云巨头试水Serverless服务
最早提出Serverless概念的是AWS,2014年年底Amazon Lambda也正式推出,此后全球各大云服务厂商相继推出各自的Serverless平台。
典型如Google Cloud Functions、Azure Functions、IBM Cloud Functions等。
国内市场Serverless开始普及在2017年,腾讯无服务器云函数、阿里云函数计算相继推出,华为云、百度智能云也都推出了自己的方案。
AWS借助领先两年的优势,以及硬件创新和软件创新中投入数十亿美元而脱颖而出。AWS拥有种类最丰富的Serverless函数,可以协同运行。
AWS采取的方法是促进用户心甘情愿依赖亚马逊,积极担当基础设施创新的重任,那样企业能够专注于业务逻辑的创新。云原生计算基金会(CNCF)的调查数据表明,AWS Lambda在蓬勃发展的Serverless市场占有70%的份额。
在Serverless领域,2017年,腾讯云推出了TCF(Tencent Cloud Function),成为国内首家推出Serverless技术的云服务商。2018年推出了“小程序·云开发”,2019年提出了腾讯Serverless2.0战略。三年来,腾讯云Serverless的用户规模以及对产品下载、调用等次数每年都成十倍的增长。
3月6日,腾讯云正式向外界展示了其在Serverless领域的最新进展,包括率先在业界推出1毫秒计费模式,并通过进一步打通上下生态链,构建三步上云的极致全云端开发体验。
张浩介绍,腾讯云打通了两大生态,构建开源新标准。
一个是在微信生态方面,推出“小程序·云开发”产品,可以大幅提升小程序的开发效率。
另一个是在开源生态建设层面,腾讯云通过开源协同的方式持续向Serverless Framework社区做贡献。
当前阿里云上实现Serverless 技术的产品有Serverles应用引擎和函数计算FaaS。
Serverless 应用引擎是面向应用的Serverless PaaS平台,它向上抽象了应用的概念,支持Spring Cloud、Dubbo、HSF等流行的开发框架,并通过WAR包、JAR包和镜像等多种方式部署应用。
尤其在容器与Serverless整合方面,阿里云宣布弹性容器实例ECI(Elastic Container Instance)正式商业化。
ECI将Serverless和Container技术结合,提供的一款敏捷安全的Serverless容器运行服务。通过ECI服务,用户无需管理底层服务器,只需要提供打包好的Docker镜像,即可运行容器,并仅为容器实际运行消耗的资源付费。
华为云的靳晓楠向中国软件网介绍,**华为云函数工作流Function Graph是一项基于事件驱动的函数托管计算服务。通过函数工作流,只需编写业务函数代码,并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。**
靳晓楠说,华为云的这款产品优势包括无服务器管理、高弹性、高效的开发体验、按需计费等。
5、服务落地遭遇新挑战
目前Serverless的落地情况如何?
近日,O’Reilly的调查表明,超过2/3的受访者表示,其组织的Serverless落地都是成功的,Serverless已经超越“炒热度”的阶段,已经成为了一种实际可行的基础架构选择。
本来以为Serverless作为一项比较新的技术,落地情况可能不太乐观,但有趣的是,调查发现,40%的受访者表示已经采用了Serverless,这个结果完全出乎意料。
企业组织采用Serverless计算的比例
资料来源:O’Reilly
现在应用Serverless存在哪些挑战呢?
首先,教育和培训现有员工。由于Serverless还是一个比较新的技术,很难找到标准、正式的培训,所以企业必须形成特定的文档培训员工,同时需要根据实践案例不断更新文档。
另外,由于Serverless处于高速发展阶段,各大供应商也在不断推出新功能,这也给企业培训员工增加了不少难度。
第二,供应商锁定。这是一个大家都会担心的问题,某个供应商平台编写的代码是不是能够迁移到其它平台。由于Serverless还是一个新兴市场,所以关于供应商之间的可移植性问题还处于探索阶段。
第三,集成/测试困难。对于Serverless架构而言,测试是复杂且劳动密集型的工作,需要处理更多的场景,同时因为需要依赖环境不同,集成也是一个需要解决的问题。
张浩说,现在提供Serverless技术服务的不同服务商都有各自的标准,在函数调用、事件触发、函数的黄金变量的定义等方面,都拥有各自一套封闭的标准,缺乏开源的规范和开源的生态支持。
腾讯云就从多个方面克服用户目前面临的这些挑战。目前,腾讯云也已经拥有一些Serverless应用用户,如英孚教育以及人人视频等知名企业,都通过使用腾讯云Serverless实现了效率和成本的优化组合,给企业在业务上真正带来更高的效率、更快的迭代和更快地上线。
阿里云原生应用平台高级技术专家许晓斌接受记者采访时表明,2020年,Serverless已经开始从偏离线业务进入在线业务。真正的按请求次数计费和从零到1的响应时间是一个天然的矛盾,以FaaS为代表的Serverless技术一开始都是从对响应时间不敏感的、事件驱动的偏离线业务入手。
但是今天包括AWSLambda Provisioned Capacity和AzureFunctions Premiumplan在内的产品特性,都在让用户稍微付出一点额外的成本以换取更低的响应时间。这对于在线业务来说,无疑是更适合的。
另外,Serverless不仅仅是应用或者函数的能力,也会加速推动基础设施和服务Serverless化。同时以Knative为代表的开源解决方案会得到越来越多的关注。
中国软件网认为,狭义来讲,云原生包含以容器、服务网格、微服务、Serverless为代表的云原生技术,带来一种全新的方式来构建应用。它不但可以很好的支持互联网应用,也在深刻影响着新的计算架构、新的智能数据应用。云原生是个不断在发展的技术方向,其定义也会在日后不断演进。
Serverless计算是真正让云计算变成社会商业基础设施的一个实现路径,也更接近现在业内提倡的云原生的方式。因此,人们在使用云计算的过程中自然就应该按照Serverless的方式来使用。
【关注 领取福利】
阿里云2000元通用代金券