创新中心
个人中心
创新中心
个人中心

御荐Serverless|解锁Serverless应用实践新姿势,为企业降低30%以上资源使用成本!

阿里云创新中心> 创业资讯> 御荐Serverless|解锁Serverless应用实践新姿势,为企业降低30%以上资源使用成本!

御荐Serverless|解锁Serverless应用实践新姿势,为企业降低30%以上资源使用成本!

御云 2023-11-07 00:00:00 349
Serveless是基于云计算的一种模型,是“Faas”(“函数即服务”)和“Baas”(“后端即服务”)的总和。云服务商托管计算、存储、数据库等服务资源,进行动态的管理和分配,之后提供给用户,而费用则基于资源的实际使用量来计算。

01 Serverless,更轻便的计算模式

Serverless产生背景

早在2009年,加州大学伯克利分校预测云计算将会蓬勃发展,在未来云的世界,应用开发将经历汇编语言向高级语言的变革,企业无需自建机房,可以按需使用近乎无线的云端计算资源。在未来云计算将全面Serverless化,更加接近“电网”模式,按计算的调用次数付费。十年过去,Serverless架构已经逐渐从“被接受”走向了“被学习”和“被应用”。目前云的产品体系正在Serverless化,从计算、存储、数据库到中间件,越来越多的云产品采用了Serverless模式,服务器不再是开发者构建应用的唯一选择。全托管的函数计算、Serverless应用引擎、对象存储、消息队列、数据库等云产品成为构建应用的基础组件,帮助开发者在更高的抽象层构建弹性、高可用的云原生应用。作为一个革命性的技术,Serverless的价值,不仅体现在技术层面和开发者层面,更是为企业的业务创新带来了巨大价值,推动商业模式的变革、获得更强的市场竞争力。

q.png

什么是Serverless

维基百科里对Serverless Computing一词的解释,无服务器计算(Serverless Computing)又称为函数即服务(Function as a Service,FaaS),是云计算的一种模型。云服务商通过屏蔽基础设施资源、动态管理和分配对应的计算资源,最终以资源实际使用量来收取费用。

首先,Serverless并不是没有服务器,它只是将服务器的运维、管理和分配都托管给了云提供商。其次,正因为云提供商对资源进行了运维、管理和分配,才让Serverless的概念和云计算密不可分。最后,对于用户而言,集中的管理和运维开放出来的能力特性也十分明显:一方面,用户无须关注业务的扩缩容,云平台会根据请求实现底层资源的动态伸缩;另一方面,弹性的好处也反映在了计费方式上,Serverless架构打破了传统的包年、包月或按小时付费的模式,真正实现了按用户的实际使用情况计费,更加灵活和友好。 Serverless的意义不仅在于计算,也在于提供后端服务的Serverless化。如果把Serverless Computing称为FaaS,那么和FaaS对应的则是Backend as a Service(BaaS,后端即服务)。结合这样的架构,我们可以对Serverless做出定义。

1111.png

2222.png

3333.png

Serverless架构组成

4444.png

FaaS(功能即服务) FaaS允许开发者直接将应用程序部署到平台上,以函数作为最小单元,通过API方式进行调用。其计算资源完全由云厂商管理和调度,由定时器或者事件触发。

BaaS(后端即服务) 是另一种无服务器架构的实现方式,它将后端功能(如数据库、文件存储和身份验证)作为云服务提供,开发人员可以通过API来使用这些功能。

Serverless为企业带来的价值

01不用再关心服务器 这是Serverless平台必须具备的能力。此外,操作系统的安全补丁升级,需要做到不影响业务,自动完成、日志和监控系统需要默认打通、系统的安全策略需要自动配置好以避免风险、当资源不够时,需要能够自动分配资源并安装相关的代码和配置,等等。

02自动弹性 当业务有比较明显的高峰和低谷时,或者业务有临时的容量需求时(比如营销活动),Serverless 平台都能够及时且稳定地实现自动弹性。为了实现这个能力,平台需要有非常强大的资源调度能力,以及对应用各项指标(如load、并发)变化有非常及时的感知能力。

03按实际使用资源计费 Serverless模式下,用户是按实际使用的资源付费的,例如一个请求实际使用了一台1core2g规格资源100ms的时间,那么用户就只需要为该规格的单价乘以时间(即100ms)付费。类似的,用户如果用的是Serverless数据库,那么就只需要为query实际消耗的资源,以及数据存储的资源付费。

04更快的交付速度 基于Serverless架构的代码通常会重度使用后端的服务,将数据、状态管理等内容从代码中分离出去;此外,更彻底的FaaS架构则把代码的Runtime也交给了平台管理。这就意味着,同样的应用,Serverless模式下的代码相比Serverful模式会少很多,因此不论是从分发还是启动,都会更快。Serverless平台也通常能够提供非常成熟的代码构建发布、版本切换等特性,提升交付速度。

02Serverless转型案例

555.png 某旅行公司案例分析

01某旅行公司业务介绍 某旅行公司是全球领先的在线旅游同业交易平台,覆盖邮轮、汽车票、门票、旅游、商城等版块,通过整合全国的优势资源,为旅游从业者提供一站式智能整体解决方案。截至目前,某旅行公司已经与国内30多家旅行社、400多个旅游景点、演唱会巡演活动主办方进行了业务整合,业务覆盖全国30多个地区。

02业务痛点 随着业务的飞速发展,某旅行技术团队通过SpringCloud等开源框架搭建了完善的微服务技术架构,并在底层服务器资源方面全面拥抱阿里云ECS,利用云计算提升工作效率,降低工作成本。将微服务应用上云之后,不需要再考虑硬件资源购买以及服务器架设等运维步骤,这样技术团队可以将更多的精力投入到业务需求实现中。但随着系统迭代次数的增加,原有的微服务架构开始暴露出一些问题:

问题1:微服务运维难度大 从系统架构的角度,将微服务应用直接部署在云虚拟机上,跟部署在物理机房相比,并没有本质的区别,团队依然需要从底层维护每一个应用实例,包括操作系统调整、磁盘容量规划、JDK等组件安装等工作,这些工作在每一台云虚拟机投入使用的过程中,都是必不可少的。

问题2:测试环境利用率低,闲置资源高 在系统频繁的迭代过程中,不同的开发小组甚至不同的开发人员都需要单独的一套测试环境,久而久之整个技术团队创建了多套测试环境,其中一些测试环境包含了所有的微服务应用,整体资源利用率特别低,造成了大量的资源浪费。而且旅游业务本身也存在非常明显的波峰波谷,微服务架构可以很方便地为每一个应用进行水平扩容,但如果用于扩容的虚拟机资源需要预先购买的话,同样会造成大量的资源闲置。

03解决方案 某旅行公司经过一系列的技术选型后,决定将业务系统Serverless化。 部署在Serverless上的微服务应用,可以按需申请资源,根据实际使用资源量按分钟计费,避免业务不活跃时段的费用支出,有效降低成本,并且微服务应用也能充分的发挥弹性伸缩的价值。特别是对于测试环境,Serverless可以做到一键启停,避免了资源闲置问题。对于生产环境的任何一个应用,如果有扩容实例的需求,也能够迅速拉起新的实例,并自动与负载均衡以及注册中心完成绑定。 此外,通过Serverless提供的应用生命周期管理能力,某旅行技术团队彻底告别了通过编写脚本进行版本发布的方式。不论是应用的部署、启动、停止、与负载均衡关联、扩容实例、缩容实例,都可以通过Serverless控制台进行可视化操作。配合Serverless的版本管理以及多种灰度发布机制,进一步降低了版本更新过程中的风险。对于新发布的版本可以在生产环境先进行小规模验证,一旦不能满足要求可以一键快速回滚。Serverless还额外提供了系统监控功能,能从基础资源、JVM、应用链路等多个层面实时、直观地了解系统运行状态。

6666.png

04用户收益 经历了系统Serverless化演进之后,某旅行在成本节省、系统吞吐、系统维护方面得到了大幅度的优化:

成本方面 云资源的使用量完全匹配实际的业务量的变化,从而实现平均资源利用率的大幅提升;

系统的吞吐量方面 由于Serverless能够在短时间内迅速调集上万个实例的计算资源,能够在业务高峰期或用户请求突增的情况下支撑海量并发,而且不再需要有容量评估方面的前期工作;

系统维护方面 由于不需要预留计算资源,也不需要对底层的软硬件进行维护,极大地降低了运营成本,让某旅行的技术团队更专注于复杂业务逻辑的实现以及技术创新上。

御云是一家以行业软件自主研发、云计算及信息化中台为核心业务的专业化信息技术服务企业,是国内领先的公有云及软件服务商,总部设在广西,在广东、福建等地均设有办事处。御云以“让企业数智化更简单”为使命,与行业应用场景深度结合,持续为用户输出高价值、可信赖的综合解决方案及服务。公司核心团队来自微软、华为、腾讯、深信服等行业顶尖公司,依托深厚的行业知识和洞见,为客户打造一体化解决方案,助力企业上云、企业信息化升级与数字化转型。

6.png

版权声明: 创新中心创新赋能平台中,除来源为“创新中心”的文章外,其余文章均来自所标注的来源,版权归原作者或来源方所有,且已获得相关授权,创新中心「创业资讯」平台不拥有其著作权,亦不承担相应法律责任。如果您发现本平台中有涉嫌侵权的内容,可填写「投诉表单」进行举报,一经查实,本平台将立刻删除涉嫌侵权内容。