为什么需求Serverless

简介: 公司计划在网站上引入AIGC技术以增强用户互动,但担忧开发周期长和成本高。技术负责人建议使用Serverless技术,这种模式允许只关注核心代码开发,减少资源管理和运维成本,适应快速、低成本的需求。小陈将负责调研Serverless在AIGC应用中的可行性,以实现更高效、节省资源的开发。Serverless的核心是让开发者专注于业务逻辑,减少非必要技术问题的处理,符合开发人员期望的开发模式。

思考:如何才能快速、低成本地推出AIGC应用?

公司新上线的综合性网站平台,经过一年多的沉淀,聚集了一批忠实、热情的用户,网站的互动内容分享很活跃。由于近来AIGC(Artificial Intelligence Generated Content,人工智能生成内容)技术火热,受关注度很高,为了增强用户互动、提高趣味性,公司希望网站推出新功能,吸引有创意、想象力的用户参与到产品的设计优化中来,还可将产品使用图片生成趣味插图用于分享,引发用户共情,进一步推升网站人气。对于这项创新需求,网站的技术负责人大刘找到了技术实习生小陈,希望他来做一些调研和准备。

大刘:咱们公司网站最近想推出一项新功能,借助AIGC技术来增强用户与咱们产品的互动。我觉得这个需求比较有创意,用到的也是新技术,是一件挺有意思的事情。不过正式启动前需要做一些前期调研,这是一个难得的机会,想交给你来试试,如何?

小陈:好嘞,谢谢师傅信任,我会尽力做好调研。AIGC我一直有关注,比如ChatGPT、Stable Diffusion等,在学校里都是同学们讨论的热门话题之一。现在互联网上有不少好用的模型、应用,代码也是开源的,在调研阶段可以拿来即用。不过我有个疑虑,这些AI模型对于计算资源的消耗往往是挺可观的,部署测试也要花费不少时间精力,我怕应付不过来呢。

大刘:你说的没错,这个问题我之前就有考虑,像这样一类AIGC应用,如果按照传统的应用开发模式,全流程的开发、部署一个完整应用,它的开发周期长、成本高、运维也很复杂。但近些年其实还有一种新的开发模式,只需要提供应用的核心代码,然后通过无服务器Serverless技术去执行,这种开发方式短平快,并且资源完全按需付费,很大程度上可以解决你前面提到的几个顾虑。

小陈:这个Serverless的方式听起来很有意思啊,无服务器,难道不需要服务器么?

大刘:哈哈,这个问题就留给你来研究和学习了。你可以先基于Serverless方向展开学习,需要做一些功课来论证基于Serverless架构实现AIGC应用的技术可行性。如果调研中有任何问题,可以随时来找我,我们一起讨论。根据以往的经验,多多讨论有助于加深理解。

小陈:好的,师傅不要嫌我麻烦就好。

大刘:Serverless是被高度关注的下一代云原生技术,受到业界厂商和开发者的高度重视,借这个机会好好学习,对你今后技术发展也一定会大有帮助。

小陈:明白,我清楚调研方向了,谢谢师傅!

为什么需要Serverless

按照传统开发模式开发一个应用,需要经历完整开发流程,编写应用全部代码,开发工作量大、周期长、成本高。而且,代码开发只是开发项目中的一部分,除此之外还有其他大量的工作要完成,包括应用上线的工作,如容量规划、资源采购、软件安装与配置、应用调试与功能验证等,及管理运维的工作,如安全加固、安装监控、运维管理与优化等。

应用上线、管理运维相关工作繁杂冗长、成本高昂,需要占用大量的时间精力。但遗憾的是,这些并不是应用的核心能力和开发者的主体工作。所以,开发人员更希望将有限的精力聚焦在代码研发、打磨业务逻辑上。开发人员期望的开发模式,只需关注具体业务逻辑代码的开发,也就是模块级别的实现,除此之外都转交给云厂商,让专业的人做专业的事,如下图。大家各司其职、强强联手,合力打造卓越应用,两全其美。那么,这种期望中的开发模式可行吗?

传统开发模式 vs 期望开发模式

开发人员期望的开发模式,正好与Serverless(无服务器)倡导的理念是高度一致的,即开发人员专业务代码编写,不必关心底层基础设计及软硬件配置

著名的 Serverless 实践者 Ben Kehoe 这样描述 Serverless 原生心智,当我们在业务中考虑做什么时可以体会一下这种心智:

  • 我的业务是什么?
  • 做这件事情能不能让我的业务出类拔萃?
  • 如果不能,我为什么要做这件事情而不是让别人来解决这个问题?
  • 在解决业务问题之前没有必要解决技术问题。

这个Serverless原生心智正好说出了开发人员的心声,那么,Serverless是怎么产生的呢,让我们继续探究。

Serverless从何而来

我们都知道IT技术是用来解决业务问题的,而IT技术的载体则是各种各样的应用程序。这些应用程序提供了用户界面,实现了业务逻辑,运行在底层基础设施之上,为最终用户提供业务服务。

出于对降本增效的不懈追求,计算模式不断发展进步,从早期的物理机发展出虚拟机,又从虚拟机发展到容器技术,再从容器技术推升到Serverless技术,这是一个业务逻辑不断聚焦、技术栈不断抽象的技术进步必然过程。IT技术演进过程中的物理机、虚拟机、容器化的发展阶段,被统一称作基于服务器的计算模式,也就是Serverful模式,与之相对的则是“无服务器”模式,也就是Serverless模式。上述发展过程,简单如下图所示。

计算模式发展历程

可以看出,在Serverful模式下,面对业务负载增加时需要扩展资源,其扩展单元要么是服务器,要么是虚拟机,或者是容器组,这三者的资源扩展速度是不断上升的,资源扩展颗粒度是持续减小的,对人员技能的要求也越来越高。而在Serverless模式下,扩展单元则变成了更轻量级的函数,部署速度更快,敏捷性更高,同时还降低了人员的技能要求。

让我们简单回顾下计算模式发展的主要阶段,了解每个阶段为什么会产生,有什么特点,又引出了什么新问题:

  • 大型机:为解决复杂计算问题而研制出来。由于特别昂贵,大型机非常稀缺,能拥有大型机的机构不多,小企业有很多计算需求,但却无法获得计算的机会。
  • X86为了满足大量小企业的计算需求,推出了价格相对低廉的X86服务器。但是,X86服务器从购买到上线,周期长、运维困难、资源利用率也不高。
  • 虚拟化:为了提高服务器资源利用率,打破服务器不可分割的限制,推出了虚拟化技术。虚拟化提高了资源利用率、可用性,降低了运维难度。但虚拟化种类偏少,仍需管理硬件并需要专业技术支持,使用门槛较高,虚拟化授权费也不低。
  • 云计算:为进一步减少运维,降低成本,丰富产品,云计算应运而生。云计算提供了丰富的IaaS、PaaS平等产品和服务,提高了企业的工作效率。但在应用构建、运维、弹性扩展、故障恢复等工作方面,仍有较多工作,需用户完成。
  • 容器化:为了提高应用系统在不同环境之间迁移的兼容性,出现了容器技术。随着容器技术的大范围应用,为了推动应用程序集群的资源管理自动化,又产生了容器编排技术。在拥抱容器编排技术之后,企业的运维工作进一步减少,但容器化仍需要一定的技术门槛。
  • Serverless:出于对降本增效的不懈需求,企业的工作重心越来越聚焦在业务逻辑上,希望进一步削减容器化工作,于是Serverless应运而生。Serverless只需要关注业务逻辑,支持自动弹性、按量付费,进一步降低了使用心智。

由此可见,计算模式的每一次革命,都进一步增强了人们对业务逻辑的聚焦,降低了对底层技术展的关注,是执行降本增效的必然结果。是时候该好好认识Serverless了。

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
SQL 数据库
传递给数据库 'model' 中的日志扫描操作的日志扫描号无效
原文:传递给数据库 'model' 中的日志扫描操作的日志扫描号无效 状况描述:在服务器的管理中重新启动MSSQLSERVER启动后马上又停止   通过"事件查看器" 发现 错误: 9003,严重度: 20,状态: 1 LSN(5:324:1)无效。
3966 0
|
6月前
|
API
快递地址解析-物流地址解析-解析物流文本-解析快递内容-自动识别地址
快递地址解析API可将杂乱地址智能拆解为省、市、区、街道、门牌号等结构化字段,支持简写、拼音、方言及语音容错,大幅提升电商收货体验。
512 2
|
消息中间件 NoSQL Java
【Redis】浅尝Redis Stream做消息队列
SpringBoot整合Redis5.0新特性Redis Stream
2105 0
【Redis】浅尝Redis Stream做消息队列
|
人工智能 安全 Android开发
手机也能跑通义Qwen3大模型,手把手教你部署!
全球开源模型冠军Qwen3与端到端全模态模型Qwen2.5-Omni现已成功在手机上跑通!借助MNN支持,适配Android、iOS及桌面端,实现低延迟、本地化、高安全的AI体验。用户可通过自定义Sampler设置、System Prompt和Max New Tokens调节模型输出风格与长度。
6420 11
|
12月前
|
数据采集 监控 网络协议
Modbus TCP 协议电表与 MyEMS 能源管理系统的数据可视化方案
本内容介绍了基于Modbus TCP协议的西门子PAC3200电表与MyEMS开源能源管理系统的集成方案。涵盖协议特性、数据模型、系统架构、数据采集配置及可视化实现方法,展示了如何通过实时数据监控优化能耗管理,助力企业实现智能化与可持续发展目标。
840 23
|
缓存 算法 网络协议
盘点腾讯后台开发各级工程师(T1-T9)需要具备哪些能力
盘点腾讯后台开发各级工程师(T1-T9)需要具备哪些能力
盘点腾讯后台开发各级工程师(T1-T9)需要具备哪些能力
|
安全 小程序 生物认证
手势密码解锁微信小程序项目源码
手势密码解锁微信小程序项目源码
手势密码解锁微信小程序项目源码
|
JavaScript IDE 物联网
HaaS506快速开始
HaaS506是一款经过阿里云HaaS团队认证的高性能、多连接的物联网开发板。本文为开发者展示在HaaS506开发板的快速上手。
2144 0
|
SQL 存储 关系型数据库
大数据技术基础实验十:Hive实验——新建Hive表
大数据基础技术实验十,学习掌握有关Hive表的创建查看删除等基础操作。
826 0
大数据技术基础实验十:Hive实验——新建Hive表
|
前端开发
互动应用开发p5.js——Perlin噪声生成烟雾(柏林噪声)
Perlin噪声生成烟雾 一、实验内容: 和鼠标交互结合生成Perlin Noise的烟雾效果 要求使用p5.js实现烟雾随机生成效果: 流场利用Perlin噪声实现;(30分) 粒子按照流场运动;(30分) 速度、数量等可由参数控制;(15分)(HTML页面交互传递参数8分,代码中变量控制7分) 使用类来实现粒子;(15分) 文档和注释清楚;(10分) 提交工程目录压缩的zip或者rar,以及一个readme.txt简要说明实现思路和重要参数的功能
780 0
互动应用开发p5.js——Perlin噪声生成烟雾(柏林噪声)