科技云报道原创。
众所周知,云计算的出现改变了传统IT架构和运维方式,而以容器、微服务为代表的技术更是在各个层面不断升级云服务的技术能力,它们将应用和环境中的很多通用能力变成了一种服务。
Serverless架构的出现,同样带来了跨越式的变革。
2018年,Gartner报告将Serverless Computing列为十大未来将影响基础设施和运维的技术趋势之一。KBV研究公司2020年发布的《全球Serverless架构市场》报告同样显示,全球Serverless架构市场的规模预计到2024年将达到140亿美元,在这段预测期内将以23.4%的年复合增长率增长。
如今,Serverless已扛起了变革传统IT架构的大旗,成为企业数字化转型革新架构的首选。
Serverless发展如火如荼
Serverless并不是字面意义上指代的那样再也不需要服务器,而是指计算资源作为服务而不是服务器的概念出现。
尽管Serverless并没有官方权威的定义,但可以肯定的是,它是构建和管理基于微服务架构的完整流程,允许在服务部署级别而不是服务器部署级别来管理应用部署,甚至可以管理某个具体功能或端口的部署,从而让开发者快速开发软件。
这是因为它由函数即服务(FaaS)和后端即服务(BaaS)的架构组成,可以给企业提供直接的运行环境。对于开发者和使用者来说,不用感受服务器,就可以调用函数平台完成函数运行,服务器的逻辑和状态也是由服务提供方管理,开通即可服务,恰好符合当前硬件软件化、软件服务化的技术趋势。
这样的特征和酷炫的功能让Serverless可以解决大多数用户和开发者最关心的问题——降低运维成本,缩短开发周期,专注于业务逻辑开发整合,因而成为云计算中一股厚积薄发的力量,获得无数开发者青睐。
Serverless最早的框架产品源于2014年亚马逊推出的AWS Lambda,为云中运行的应用程序提供了一种全新的系统体系架构。在这之后,Serverless也从概念、愿景逐步走向落地,在各企业、公司应用开来,众多IaaS及Pass厂商相继入局。
从Forrester报告可以看到,如今Serverless已出现四大阵营,分别是云计算巨头、传统IT大厂、创新企业和开源工具平台。
在云计算巨头阵营,AWS、微软、阿里云、腾讯云、谷歌云等都在提供Serverless计算服务,分别居于领导者和强劲表现者象限。Serverless技术首先由AWS提出,并率先推出云服务,其他企业基本上是跟随者。
在传统IT大厂阵营,以IBM、Oracle等企业为代表,正在从云市场转入PaaS市场,提供Serverless创建平台、工具。
在创新企业阵营,Nimbella、Cloudflare等企业提供Serverless创建工具,可以轻松构建、管理、测试、监控用户的无服务器应用架构。
尽管各个厂商都在大力推广自己的Serverless服务、产品,但是开发者普遍还是会担心被厂商绑定,因此出现了开源阵营,即具备一定规模的组织会基于开源方案,搭建自己的Serverless平台。而一旦某个开源方案成为主流,云厂商就会主动去兼容开源标准并增大社区投入。
目前,Serverless开源项目很多,如:目前GitHub Star数最高的Serverless框架,与主流云厂商集成得很好。Knative是Google发布的基于Kubernetes的Serverless框架。分布式无服务器平台OpenWhisk最开始由IBM和Adobe驱动,后来捐给Apache基金会,2019年7月晋升为顶级项目等。
Serverless落地面临五大挑战
巨大的市场空间之下是无限的潜力,Serverless的优势显而易见,但任何事物都有局限性,Serverless作为一项相较新潮的技术也不能免俗。目前Serverless的落地情况如何?
2020年O’Reilly的调查表明,超过2/3的受访者表示,其组织的Serverless落地都是成功的,Serverless已经超越“炒热度”的阶段,成为了一种实际可行的基础架构选择。
在国内,云原生产业联盟发布的《中国云原生用户调研报告(2020年)》显示,随着Serverless技术显著升温,近3成用户已在生产环境中应用。其中,16%的用户将Serverless技术用于核心业务的生产环境,12%的用户用于非核心业务的生产环境,仅有36%的用户尚未使用Serverless技术。
尽管Serverless技术的价值已被很多用户认可,然而Serverless 的落地问题却往往很棘手,在应用Serverless时依然存在很多挑战。
挑战一:部署成本
据《中国云原生用户调研报告(2020年)》显示,在采纳Serverless技术前,部署成本成为用户选择Serverless技术前最主要考虑因素,49%的用户考虑部署成本的问题,35%的用户考虑技术知识库完备程度。
挑战二:供应商锁定
这是一个大家都会担心的问题,某个供应商平台编写的代码是不是能够迁移到其它平台。由于Serverless还是一个新兴市场,所以关于供应商之间的可移植性问题还处于探索阶段。
挑战三:工具集不完备
在应用Serverless化部署的过程中,由于现阶段平台产品的调试工具尚不完备,用户在Serverless化部署的过程中仍面临诸多挑战。
《中国云原生用户调研报告(2020年)》显示,51%的用户在应用上线调试方面问题凸显,41%的用户认为动态变化的Serverless环境监控存在问题,32%的用户在在线、离线测试以及配套测试工具方面存在问题。
对于Serverless架构而言,测试是复杂且劳动密集型的工作,需要处理更多的场景,同时需要依赖环境不同,集成也是一个需要解决的问题。
挑战四:技术框架和标准繁多
Serverless框架繁多,其中以兼容Kubernetes生态的框架更受用户关注。《中国云原生用户调研报告(2020年)》显示,30%的用户基于Knative搭建Serverless化应用,23%的用户选用Kubeless,23%的用户选用OpenFaaS。
值得注意的是,目前提供Serverless技术服务的不同服务商都有各自的标准,在函数调用、事件触发、函数的黄金变量的定义等方面,都拥有各自一套封闭的标准,缺乏开源的规范和开源的生态支持,这也会给用户落地Serverless带来难度。
挑战五:人才培养
由于Serverless还是一个比较新的技术,很难找到标准、正式的培训,所以企业必须形成特定的文档培训员工,同时需要根据实践案例不断更新文档。另外,由于Serverless处于高速发展阶段,各大供应商也在不断推出新功能,这也给企业培训员工增加了不少难度。
结语
作为一项新兴技术,Serverless在发展和落地过程中会遇到很多难题。但不可否认,随着用户心智的建立,产品本身能力的完善,用户在很多场景下使用Serverless架构,能够在可靠性、成本和研发运维效率等方面获得显著的收益。
2019年,UC Berkeley发表了一篇论文,“Cloud Programming Simplified: A Berkeley View on Serverless Computing”,预言Serverless将主导下一个十年云的发展,产业的发展是螺旋式上升,Serverless的诞生和兴起逻辑早已蕴含其中。
相信下一个十年, Serverless 将重塑企业创新的方式,帮助云成为社会发展的强大动力。
来源:科技云报道
免责声明:此文内容为第三方自媒体作者发布的观察或评论性文章,所有文字和图片版权归作者所有,且仅代表作者个人观点,与 无关。文章仅供读者参考,并请自行核实相关内容。投诉邮箱:editor@fromgeek.com。
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。