架构的演进
物理机时代:单机版的单体架构-数据库,应用代码,HTTP服务器等服务都在一台服务器上
虚拟机时代:将一台物体机通过虚拟化技术分割为多台虚拟机,对于硬件设备的管理统一由云厂商负责,开发者不需买硬件,直接在云平台买虚拟机,例如阿里云的ECS
为了降低服务器负载,数据库迁移到云厂商提供的云数据库上,图片存储迁移到对象存储
容器时代:Docker的发布,容器技术是在虚拟化的基础上,把代码和运行环境打包在一起,能保持代码和运行环境的一致性,服务器上部署容器,容器管理就是容器编排技术,比如K8S
serverless时代,不在关心运行环境和自动调配服务器的资源( 应用:购物节的流量洪峰)
serverless概念
serverful架构下,开发者首先需要分配可用的资源,然后加载代码和数据,再执行计算,将计算的结果存储起来,最后还要管理资源的释放。需要关心的问题例如:根据业务流量大小等指标,响应式的调整服务规模,实现自动弹性伸缩。再比如异地容灾、负载均衡、日志监控、文件存储等等
severless架构下(无运维,事件驱动,按量付费,弹性伸缩),开发者只专注于业务逻辑,所有与业务无关的基础设施,全部交给云平台负责,由云平台统一调度、运维
serverless架构是采用FaaS(函数即服务)和BaaS(后端即服务)来解决问题的一种设计
FaaS和 BaaS都是云计算中常见的服务模型,它们分别针对不同的应用场景和需求:
FaaS 是一种云计算服务模型,它允许开发者在云平台上部署、运行和管理函数(通常是事件驱动的函数),而无需管理底层的服务器和基础设施。开发者只需将函数上传到 FaaS 平台,然后定义触发函数执行的事件,例如 HTTP 请求、消息队列、定时器等。当事件发生时,FaaS 平台会自动调用相应的函数执行,并负责管理函数的扩缩容、高可用性和资源分配等问题。开发者只需关注函数的业务逻辑,而不需要担心服务器的管理和维护。
BaaS 是一种云计算服务模型,它提供了用于构建和运行应用程序后端的基础设施和服务。BaaS 平台通常提供了一系列后端服务,包括用户认证、数据库存储、文件存储、推送通知、消息队列等。开发者可以通过 BaaS 平台来快速搭建应用的后端,而无需自行开发和维护这些基础服务,从而加快了应用开发的速度并降低了开发成本。开发者可以通过 BaaS 平台提供的 API 或 SDK 来访问和管理这些后端服务,从而实现应用程序的业务逻辑。
总的来说,FaaS 主要关注函数级别的计算,将计算资源按需分配给函数执行,而 BaaS 则主要关注应用后端的开发和运行,提供了一系列通用的后端服务和功能。两者都可以帮助开发者简化应用开发和部署的流程,提高开发效率和灵活性。
基本应用
云函数需要触发器来触发,在腾讯云中是访问服务
标签:serverless,服务,函数,BaaS,基础,开发者,应用,服务器,FaaS From: https://www.cnblogs.com/zhixy/p/18194065