如何浅析基于Serverless的前后端一体化框架

发布时间:2021-12-18 18:31:28 作者:柒染
来源:亿速云 阅读:196

如何浅析基于Serverless的前后端一体化框架,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

概述

Serverless 是一种“无服务器架构”模式,它无需关心程序运行环境、资源及数量,只需要将精力聚焦到业务逻辑上的技术。基于  Serverless 开发  web 应用,架构师总是试图把传统的解决方案移植到 Serverless 上,虽然可以做到既拥有  Serverless  新技术带来的红利,又能维持住传统开发模式的开发体验。但是,Serverless  技术带来的改变可能不止这些,可能是颠覆整个传统 web  应用开发模式的革命性技术。

 

开发模式

业务应用的开发模式发展是从一体到分裂为前后端,再到前后端融合为一体过程。

注意:后面所说的后端特指后端业务逻辑。

早期,一体

如何浅析基于Serverless的前后端一体化框架

没有前后端的概念,那时候的应用都是单机版,所有的业务逻辑都写一起,开发人员不需要关心网络请求,这个时期的工程师完全专注于业务代码的开发。随着业务规模的增长,也暴露了很多问题:

说明:业务应用升级困难等一些问题,不是本篇文章所关心,所以就不一一列举出来。

现在,分裂

前端 + 高可用高并发运维裹挟着的后端业务逻辑:

如何浅析基于Serverless的前后端一体化框架

说明:现在 Serverless 技术已经出现有一段时间了,不但没有解决开发体验的问题,反而带来更多开发体验问题,所以,在这里我并没有突出  Serverless 技术。

解决的问题:

解决一个问题,带来一堆问题:

这也是为什么创业小公司喜欢全栈开发工程师,因为在创业早期,高可用和高并发的需求不是那么迫切,因而运维也相对简单,使用全栈开发工程师,不仅缩短了项目交付周期,而且也降低了公司的运营成本,这对创业小公司是至关重要的。

未来,融合回到到一体

前端 + 后端 + Serverless + 平台服务 => 业务应用 + Serverless + 平台服务:

如何浅析基于Serverless的前后端一体化框架

说明:共享逻辑是前后端的共享逻辑,在过去,由于前后端分裂,是很难做到前后端层面的代码抽象的,前后端融合后,让这件事变得简单自然。

带来困惑:

找回初心:

现状

Serverless 已经做到了以下两点:

传统应用框架,食之无味,弃之可惜:

应用框架找回初心:

前后端一体化解决了什么问题:

实现前后端一体化,欠缺如下:

其中,基于 Serverless 的前后端一体化框架解决前后端一体化问题;工具屏蔽掉 Serverless 平台细节,提供一致的部署运维体验。

未来

未来,开源社区会涌现大量的基于 Serverless 的前后端一体化的框架和工具,webassembly  让前后端一体化打破了开发语言的限制,可以用任意开发语言开发前后端,如 java、go 等等。由于 javascript 是为前端而生,typescript  是目前做活的前端开发语言,前后端统一用 typescript,其他语言可以通过 webassembly 技术让 typescript  语言来调用可能是最好的选择。

想要成为一个流行的基于 Serverless 的前后端一体化框架,需要具备这么几个特质:

结语

Serverless 技术让我们向新世界大门迈出了左脚,请让基于 Serverless  的前后一体化框架帮我们迈出右脚。同时,请别再叫我前端开发工程师,我是业务应用开发工程师。

Q&A

Q:前后端一体化需要将前后端代码发布到同一个地方吗?

A:不需要,分开发布,通过统一的工具负责前后端发布任务,前端可以发到 CDN,后端可以发布到 Serverless 平台,如:阿里云函数计算。

Q:未来是不是没有后端工程师?

A:有的。前端工程师只是把前端和后端的业务逻辑代码给做了,后端工程师去做真正的后端,那时候的后端工程师将会更加专业,前端工程师可能会变成应用开发工程师(暂且这么称呼)。对于中小型企业,可能大部分是应用开发工程,有少量甚至没有专业的后端工程师。

Q:为什么不做一个类似 expressjs 这样的 web 应用框架?

A:expressjs 框架是在没有 Serverless 背景下设计的,没有考虑 Serverless 给我们带来的技术架构变革,如果需要类似  expressjs 的这样的框架,我们完全可以将 expressjs 框架迁移到 Serverless 上运行,没有必要再造一套。

Q:为什么是 nodejs 框架?

A:nodejs 和 前端 js 使用的同一种语言,可以将前后端一体化做到更加极致,webassembly  也可以让任何语言在前端运行,也能做到前后端语言一致,但是 js 是为前端而生的,更有亲和力。但是其他语言可以通过 webassembly  编译成中间语言,nodejs 通过 vm 来调用其他语言提供的功能。也不排除未来会有一种新的运行环境来取代 nodejs,更加适配多语言和 Serverless  这种场景。

Q:前后端一体化的极致是一种什么感觉?

A:前后端代码都在一个项目中用同一种语言来写,在本地定义一个后端接口方法,前端就像调用本地方法一样调用后端方法(不是在本地定义的后端接口也是一样,比如跨组件、外部服务),前后端可以抽象更多的公共逻辑,比如工具类等等,一个开发人员就能维护好整个项目,没有了多项目多语言的切换痛苦。

看完上述内容,你们掌握如何浅析基于Serverless的前后端一体化框架的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. 浅析前后端分离
  2. js写后端可以看用哪些框架

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

serverless

上一篇:怎么浅析Linux服务器网络开发模型

下一篇:如何进行springboot配置templates直接访问的实现

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》