使用Serverless模式开发部署前端和Node.js

写在开头: 前端

什么是Server模式?前端、后端如今均可以使用Serverless模式进行开发和部署吗?mysql

先回答第一个问题:redis

Serverless 圈内俗称为“无服务器架构”,Serverless 不是具体的一个编程框架、类库或者工具。简单来讲,Serverless 是一种软件系统架构思想和方法,它的核心思想是用户无须关注支撑应用服务运行的底层主机。这种架构的思想和方法将对将来软件应用的设计、开发和运营产生深远的影响。sql

所谓“无服务器”,并非说基于 Serverless 架构的软件应用不须要服务器就能够运行,其指的是用户无须关心软件应用运行涉及的底层服务器的状态、资源(好比 CPU、内存、磁盘及网络)及数量。软件应用正常运行所须要的计算资源由底层的云计算平台动态提供。编程


说人话,什么意思? 小程序

后端Serverless模式:后端

就是你直接在网页上编辑好你的逻辑,点一下部署,你就能够发布新的代码到服务器上面了,不须要你去关心运维部署层面的东西了,只要你考虑开发逻辑便可。缓存

例如,向下面这样(基于构建物联网LOT应用工具开发的,类Serverless模式)服务器


前端Serverless模式:微信

同样的,你在网站点编辑好你的逻辑,点下构建发布,就发布成功了,不管是IOS、安卓、小程序、H5

例以下面这样,在网页中将组件拖入页面,点击上架,那么就上架成功了


经过上面的内容,你应该能知道Serverless模式的大概使用了,但是,怎么把一个很复杂的功能点实现呢?那么你要深刻理解下Serverless的模式含义

Serverless = Faas + Baas 

Faas:函数即服务 

Baas:  后端即服务 

为何说Serverless模式,是等于Faas + Baas呢。

首先,函数是咱们本身定义的逻辑,可是函数并不能帮咱们作到全部想作的事情,例如,咱们要有一个redis服务,这个服务是进程外缓存,是独占一个端口存在的,而Serverless就是为了帮咱们屏蔽运维和部署的问题,那么就须要函数编写你的一个一个业务逻辑,而后平台帮咱们集成一些特殊的功能,例如redis,mysql等。

Serverless中,很重要的一个点就是函数

例如一个接口调用

你可能需

解析参数、

参数处理、

更新db=》通知db、

更新缓存=》通知redis

等等..

以上的这几个步骤,完成了接口调用

你能够很直观的想象,每一个节点都是一个函数,处理完成后,将下个函数所须要的值传递过去,调用下一个函数(节点),这样过程很是清晰、逻辑独立,复用也更为简单。

因此Serverless的核心,就是讲究颗粒度,函数拆分到极致的细致

Faas函数的生命周期:

须要注意的点:

采用函数计算的 Serverless 与云服务器最大的不一样之处在于:云服务器须要一直运行,而函数计算是按需计算。按需计算就意味着,在请求到来的时候,才运行函数。没有请求的时候,是不算钱的。

像redis、mysql这些,就属于Baas部分,就是:后端即服务,这些都是能够向云厂商申请资源的

通用的Sereverless架构:

使用Serverless开发的⚠️点和优缺点:

  • 必定要编写单元测试
  • Serverless对一些但愿掌控底层计算资源的场景来讲不是很合适
  • Serverless并非必要的,合适的场合确实能提效很多,目前我已经在生产环境上先后端都在用这种模式开发
  • 快速上线是Serverless模式最大的优势,一键发布
  • 减小运营成本
  • 可移植性的问题,Baas服务,每一个厂商实现标准不一致
  • 更适用于微服务
  • 会大量依赖于第三方服务,例如Baas部分
  • 调试和开发不是特别方便
  • 自动扩展能力很是好

以上就是我在使用Serverless模式进行先后端开发的一些总结,以为有帮助让你理解到什么是Serverless模式的话,能够点个关注和再看支持下

最后

  • 欢迎加我微信(CALASFxiaotan),拉你进技术群,长期交流学习...
  • 欢迎关注「前端巅峰」,认真学前端,作个有专业的技术人...

点个在看支持我吧,转发就更好了

好文我在看👇

相关文章
相关标签/搜索