小白网-奉贤部落-奉贤免费信息发布平台
标题:
Serverless架构(serverless的缺点)
[打印本页]
作者:
[db:作者]
时间:
2025-7-26 13:00
标题:
Serverless架构(serverless的缺点)
什么是无服务器?
自2006年8月9日,谷歌首席执行官埃里克·施密特(Eric Schmidt)在搜索引擎大会(SESSanJose2006)上首次提出“云计算”概念以来,云计算的发展可以用“日新月异”四个字来形容。那么到底什么是无服务器?
简单来说,Serverless可以说是一种架构,是云计算发展的产物。至于无服务器具体是什么,没有人能给他一个清晰的概念。如果非要说一个稍微容易理解的概念,可以参考马丁·福勒在《无服务器架构》中对无服务器的定义:无服务器=BaaS+FaaS。
无服务器架构和传统项目的区别
首先,让我们以一个常见的Web服务为例:
在该图中,服务器可能涉及路由规则、认证逻辑和其他复杂的业务代码。同时,开发团队要非常注意这个服务器的运行和维护,比如要时刻注意以下问题:
[*]客户数量突然增加,需要扩充服务器吗?[*]服务器上的脚本和业务代码是否还在健康运行。[*]黑客是否在不断攻击服务器。当我们将这个想法转换为无服务器逻辑时,它变成了这样:
可以认为在客户端和数据库不变的情况下,服务器变化很大。
[*]之前需要开发团队维护的路由模块和认证模块会连接到服务提供商提供的API网关系统和认证系统。开发团队不需要维护这两部分的业务代码,只需要持续维护相关规则即可。[*]在这种结构下,业务代码也被拆分成功能粒度,不同的功能代表不同的功能。[*]我们再也看不到服务器的存在了,因为无服务器的目的就是让用户只关注自己的业务逻辑。因此,一些安全问题和资源调度问题(如用户激增,如何实现自动扩容等。)都交给云厂商了。[*]与传统项目相比,传统项目不管用户是否访问都是在运行的,都是有成本的。但就Serverless而言,这些功能只有在用于发起请求时才会被激活和执行,并按数量收费。相对来说,有流量的时候可以支持他们,没有流量的时候就没有支出,成本会进一步降低。通过以上的分析和描述,不难看出无服务器架构与传统开发模式的区别,并逐渐发现其优势。但问题来了。很多工作都交给了云厂商。那我们该怎么办?
使用无服务器架构:
[*]开发团队不需要维护服务器本身,也不需要担心服务器本身的各种性能指标和资源利用率。相反,开发团队可以花更多的时间和精力去关注应用程序本身的状态和逻辑。[*]无服务器应用程序的部署将变得非常容易。我们只需要上传基本代码。比如Python程序只需要上传其逻辑和依赖包,C/C++、Go等语言只需要上传其二进制文件,Java只需要上传其Jar包。同时,配置管理不需要Puppet、Chef、Ansible或Docker,大大降低了运维成本。[*]无服务器架构不再需要监控底层数据,如磁盘使用情况、CPU使用情况等。,可以更专注于监控应用程序本身的测量。同时,在无服务器架构上,运维人员的角色会发生变化,部署会变得更加自动化,监控会更加面向应用本身。使用无服务器架构的优势
从上面我们不难看出,与传统项目相比,Serverless有以下优势:
[*]不需要购买和管理服务器等基础设施,运维成本低。[*]你只需要专注于业务逻辑的开发,使用函数计算支持的开发语言,设计、优化、测试、审计、上传自己的应用代码。[*]触发应用程序以事件驱动的方式响应用户请求。与阿里云对象存储OSS、API网关、日志服务、表存储服务无缝对接,帮你快速构建应用。比如通过OSS解决图片和视频的存储问题,当有新的数据写入你的OSS资源时,自动触发函数对数据进行处理。[*]提供日志查询、性能监控、报警等功能,快速排除故障。[*]毫秒级弹性膨胀,快速实现底部膨胀应对峰值压力。[*]按需付费,支持百毫秒充电。只为实际计算资源付费,适合峰谷明显的用户。总之,Serverless是在传统的容器技术和服务网格上发展起来的,更多的是指后端服务和功能服务的结合。对于开发者来说,可以更专注于功能服务,更专注于让用户只专注于自己的业务逻辑。
同时,无服务器是云计算发展到一定阶段的必然产物。作为普惠技术,云计算的发展目标一定是绿色技术和大众化技术的产物——而Serverless可以很好的解释这些:充分利用资源,减少空闲置资源的浪费;同时降低了学习成本和使用成本。
无服务器架构被称为“真正实现了云计算最初的目标”。这个说法虽然有些夸张,但也从另一方面说明了大家对无服务器架构的期待和信心。自2012年提出以来,无服务器架构已经走过了七个年头,正在逐步走向成熟。
欢迎光临 小白网-奉贤部落-奉贤免费信息发布平台 (http://www.ts-xiangyue.com/)
Powered by Discuz! X3.2