前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Serverless模式开发部署前端和Node.js

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

作者头像
Peter谭金杰
发布2020-05-09 17:36:12
1.7K0
发布2020-05-09 17:36:12
举报
文章被收录于专栏:跨平台全栈俱乐部

写在开头:

什么是Server模式?前端、后端现在都可以使用Serverless模式进行开发和部署吗?

先回答第一个问题:

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

所谓“无服务器”,并不是说基于 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模式的话,可以点个关注和再看支持下

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档