查看原文
其他

浅析下一代云计算技术Serverless

70号实验室 中国金融电脑+ 2022-12-13

17


星期四

2020年12月


根据Gartner相关报告,Serverless是继虚拟机技术、容器技术之后最有潜力的计算形态,是云计算发展的未来方向之一。本文就Serverless的相关概念、技术发展简史、技术特点及应用价值做了分析阐述。

导读

验“金”室


根据Gartner相关报告,2020年全球将有20%的企业部署Serverless(无服务器)架构,同时报告中指出Serverless是继虚拟机技术、容器技术之后最有潜力的计算形态,是云计算发展的未来方向之一。实际上,Serverless概念自被提出以来,即受到业界的广泛关注,且与之相关的开源项目与社区活跃度持续增加。截至目前,国内外已有多家云计算厂商推出了函数计算产品,推动Serverless逐步从概念愿景走向落地。


一、什么是Serverless


一般情况下,Serverless通常也被称为“无服务器”或“无服务器架构”。所谓无服务器,并非是不需要服务器资源就可以运行软件应用,而是指开发者无需再关心应用运行涉及的服务器等资源,可更加专注于应用逻辑代码,计算资源则是由底层的云计算平台来动态提供。简而言之,Serverless可看作是云原生技术发展的高级阶段,可以使开发者更多地聚焦在业务逻辑,而减少对基础架构的关注。Serverless解决方案的关键元素如图1所示。


图1 Serverless解决方案的关键元素


  • Event sources(事件源),指触发事件或将流式传输触发到一个乃至多个函数实例中。

  • Function instances(函数实例),指单个函数或微服务,可以按需扩展。

  • FaaS Controller(FaaS控制器),部署、控制和监视函数实例及其来源。

  • Platform services(平台服务),FaaS(基于开元无服务器)解决方案使用的一般集群或云服务,也称为Backend-as-a-Service。


Serverless一般工作流程如图2所示。具体来说,即从编写代码并提供规范元数据开始,代码构建器将获取代码和规范元数据,并在编译后将其转换为可执行的程序实体(代码二进制文件或容器镜像),然后再将可执行程序实体部署在具有控制器实体的集群上,最终由该控制器实体基于事件触发的请求量或负载,负责自动扩容或缩容函数实例的数量。


图2 Serverless一般工作流程


二、Serverless技术发展简史


Serverless的概念最早于2012年提出,AWS在2014年推出Serverless服务Lambda,开启了Serverless架构的新时代,从此Serverless架构也开始正式走上云计算的舞台。此后,国外云计算巨头谷歌、微软、IBM等也陆续推出了Serverless服务,如微软推出Serverless托管平台Azure Functions,谷歌发布了Serverless平台Cloud Functions。到2017年,国内各公有云厂商也开始加紧布局Serverless,如阿里云发布了阿里云函数计算Function Compute,腾讯云发布了腾讯云函数Serverless Cloud Function。


此外,云原生计算基金会(Cloud Native Computing Foundation,CNCF)于2017年成立Serverless工作组,旨在探索云原生和Serverless技术的交集。在此期间,开源的Serverless架构框架也日渐丰富,早在2016年就成立OpenFaaS、Kubeless、Fission等项目,致力于打造开源的Serverless框架,2018年谷歌开源knative,尝试将Serverless架构标准化,Serverless生态初具规模。


三、Serverless技术特点及应用价值


1.Serverless的技术特点

与传统技术架构相比,Serverless有许多不同特点:


一是按需加载,即软件应用只在有请求到达或有事件发生时,才会被部署和启动。


二是事件驱动,即函数的加载和执行由事件驱动,通过将不同事件源的事件与特定的函数进行关联,可实现对不同事件采用不同的反应动作。


三是状态非本地持久化,即Serverless应用和服务器完全解耦,应用的状态不保存在运行服务器上。


四是自动弹性伸缩,即Serverless应用可支持高可用特性,并根据访问量进行弹性的自动扩展和收缩。


五是应用函数化,即Serverless应用会被分解成多个细粒度的操作,应用可被函数化。


六是依赖服务化,即Serverless的所有应用依赖比如消息队列、数据库、缓存等,都是服务化和无服务器化的。


2.Serverless的应用价值

基于Serverless的以上特点,Serverless将为企业带来如下价值:


一是降低运营复杂度,即在Serverless架构下,用户无需在应用上线前提前规划服务器的数量和规格,也无需在运维过程中持续监控和维护具体服务器的状态,只需关心应用的整体状态即可。


二是降低运营成本,即伴随运营复杂度的下降,应用运营需投入的时间和人力成本将大大降低,同时基于Serverless按需执行的技术特点,应用在空闲状态下并不会占用计算资源,从而大幅提升计算资源的利用率。


三是缩短产品的上市时间,即在Serverless架构下,软件应用的开发效率更高、迭代周期更短,同时应用的开发和部署效率将得到较大提升,且在Serverless架构下,应用的上市时间也将大大缩短。


四是增强创新能力,即随着应用的开发和部署效率提升,用户将可以用更短的时间、更少的投入去尝试新的想法和创意,并通过Serverless快速实现新创意的应用原型,投放给用户使用并获取反馈。


四、Serverless在金融业应用前景


在金融领域,Serverless有着十分广阔的应用场景:


一是可以高效处理金融业务产生的海量日志,并通过日志服务自动触发相应Serverless函数进行压缩、转换操作,之后再将其存放到数据库或者对象存储中。


二是可以用于处理图片或者视频流,即通过对象存储上传图片视频,可触发相应的Serverless函数对图片或视频进行个性化处理。


三是面向金融业务中的对账等批量任务,通过Serverless函数可定时在空闲时间段进行处理,而不占用过多的计算资源。


四是通过Serverless可快速上线人工智能模型,并将其用于处理各类人工智能图像识别及语义分析等场景。


综上所述,对金融行业来说,通过Serverless技术将能够为企业应用提供低成本、高效率的云计算使用方式,且其在机器学习、分布式批量任务、应用后端服务等方面也具有十分广阔的应用前景,不仅能进一步提升金融企业的研发能力,还可高效为前端、中台及后端服务建设赋能,降低研发门槛、提升创新速度,在助力传统金融企业实现数字化转型的同时,为客户提供更加优质的金融服务。


未来,随着容器、物联网、5G、区块链等技术的快速发展,技术上对去中心化、轻量虚拟化、细粒度计算的需求也将愈发强烈,而Serverless必将在云计算的舞台上大放异彩!


往期推荐


反应式架构研究


强隐私安全技术——“零知识证明”的前世今生


浅析数字孪生技术


浅析前端页面渲染技术


浅谈以多方安全计算为代表的隐私计算技术



FCC30+

长按左边二维码

关注我们不迷路


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存