前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Serverless的前端开发探索

Serverless的前端开发探索

原创
作者头像
云大学小编
修改2020-06-05 17:25:48
4100
修改2020-06-05 17:25:48
举报
文章被收录于专栏:云+直播云+直播

点击观看大咖分享

Serverless 是什么?

我们在讲Serverless是什么之前,首先我们要先去讲解到这几个比较重要的一个架构。那么第一个架 构其实就是我们的单体架构,它只是最原始的站点的架构模式,比方说我们用一个单一的VPS做我们的服务的一个业务支撑,那么这个就是我们的单体架构。其次的话还有一个是我们SOA架构,SOA在我们现在的企业中用的也是比较多的,它其实是我们通常比较常用的一个架构,就是通过各个服务模块将我们比较复杂的业务做一些业务拆分治理的工作,这个就是我们的SOA架构。

第三是我们的容器架构,就是相当于是我们更好SOA的一个载体,他其实是对于底层计算的革新,但是还是会比较强依赖自身运维的一个能力,因为我们在用容器架构的同时应该会同时需要一个类似于这样的容器编排就是我们的CPIS这样的一个容器编排的一个工具,或者是我们运维的那种工具,我们要对节点做一些管理等等。

那么serverless架构其实它是在容器架构之上的,因为他分装了所有的底层资源的管理还有包括我们的系统运维的工作,它可以使我们的开发者更容易的使用我们零基础的一个设施,这个其实就是我们的serverless架构。

总结一下其实serverless架构其实就是封装了的所有的底层资源,他其实是略高于容器架构的一种计算形式。下面的话会有一些SOA的一些企业架构的一些介绍,这边的话是最原始SOA,我们可以看到就是他其实是有一个什么管理机构这样的一个东西去承接我们的服务,这个的话就是我们可以把S的一个边编排,它有一个Master node的一个节点,还有包括很多的Worker的节点来去做容器,去做业务编排这件事情。

这块其实就是我们现在的一个重点就是serverless架构,serverless application是由两部分构成的,第一部分就是我们的Serverless Compute Engine ,就是我们的底层,Serverless 的底层其实在业内看来的话是Docker居多,当然还有基于MVM的,但是Docker的话,可能比方说会有一些类似于开源的东西,那么其实Serverless他其实并不指的是我们的Baas这一块儿,那他其实还有一个比较重要的一个点就是在我们的baas,我们baas其实他是有类似于我们的API网关,我们的COS,我们CMQ,我们的Ckafka,我们的CDB等等一系列的一些Baas资源,那么serverless这个概念其实它是等于我们的serverless 加上我们Baas,就相当于是类似于我们的Serverless Compute Engine 再加上我们的SF服务,类似于一条网关,因为这个可能也是我们后面可能会用到的比较多的资源,那这个其实就是我们的Serverless 架构的一个常见的一个形态。


Serverless 前端变革

我们再来看一下Serverless 在前端他到底可以做哪些事情?首先我我们想去了解一个东西就是一个真正的全栈应用,我从底层开始搭的一个全栈应用,他到底是覆盖了几层或者是他者需要去关注那些东西, 这个经济塔图的话它就可以完全帮助我们去理解的什么是我们的正儿八经的全栈应用,全栈应用下面他到底会包括哪些东西?那么最底层的其实就是类似于我们的我刚刚所说的k8s, 最底层的那种的容器品牌工具,还有一个System Security,还有包括我们的一些回滚,还有包括我们的一些ES,我们的网络安全等等一系列,这个其实是我们在我们金字塔底层我们比较常关注或者是我们比较关心的一些底层资源,那么中间的还有一部分其实就类似于我们的一个LB,还有包括我们的logo我们的日志的一些管理等等一系列的一些东西来去支撑到我们的底层做一些运维。

那么除了在这在这个基础之上还有包括我们的DB,我们的数据库,就是我们比较经常关心的类似于我们的DB数据库,Framework框架,还有包括我们文件存储以及我们的CDN,这些其实是作为一个全栈应用的稍下的一些资源的一些扩充,然后最后才是我们正儿八经的一个比较核心的一个开发工作, 所以我们的前端开发其实应该是在我们金字塔顶部,那么其实有没有考虑过这个问题就是我写代码我其实没有必要去关心我底层应该是怎么样的、有没有一个东西可以让我更加专注的去写代码?不用关心我的DB是什么、我们的容器编排到底是什么或者说我们回滚我们完全是怎样?那么这个答案其实是有的,其实就是我们的Serverless ,所以说我们的Serverless 在前端技术的变革其实就是让开发者无需关心我们核心代码以下的底层的所有的资源,我们Serverless 为他者去提供一个只需专注于自己有开发的一个完整的一个类似于操系统或者是类似于部署平台。

那么Serverless 开发模式下,其实里面其实就特别简单就比方说我们应用层应该是我们比较常用的应该是我们API,我们的BFF,我们SSR这样的一个东西,那么应用层的话这块的话是我们需要去自己去构建是要自己写的,那么云服务的话其实呃就是包括API,SSR我们的容器,那么这里面的开发模式其实就是研发团队只需要去关注应用层以上的东西,还有包括一些云服务的一些对接,而无需去关注比较底层的类似于容器编排这样的事情,所以我们在上面图中我们其实可以看到其实研发团队他其实还有一个工作是什么?他还有一个工作其实就是呃连接应用层和云服务之间的东西这个东西怎么连接呢?其实就引出了我们的下一个问题——我们到底要不要做框架?我们的框架我们会想要去做这种框架或者是我们怎样去用这个框架?

那么Serverless其实就是帮助我们去解决了框架的这样一个事情,其实是分两块的内容,第一块其实是类似于我们的组件化的一个开发。第二块内容就是我们标准化的相对于云厂商的一些框架的一些支持,所以其实Serverless Framework它的优势其实就是底下的话可以做一些类似于标准化的集成,比方说我底下我可能有N个云产商,然后对这些资源去做一个标准化的一个框架集成,那么对上的话其实就是做了一些组件化开发类似于我们今天可能会讲到的一个DB的工具,它其实就是对我们DB的组件化的一个分装,那么其实组件化的意义就是为了一个东西就是为了可复用,它可以提高我们的复用率来去减少重复开发还有包括我们人员技术站的一些分工,还包括招聘一系列的一些乱七八糟的一些东西,这个其实就是对于开发者来讲组件化的意义,那么标准化的话这块就可以简单他是向下去统一的云厂商的一些标准,使我们业务可以在多留之间去做一些平滑的迁移包括我们的部署,所以我们其实可以在上一个PPT中也可以看到其实Serverless Framework它其实是一个标准化组件化的Serverless 应用开发产品,所以他用这样的组件化和标准化这两个事情去帮助我们衔接了我们上面的应用层以及我们下面的云服务,所以Serverless Framework这个事情其实就是替代了我们第一块所提供的就是说传统的Serverless 开发模式下研发团队他所去做的一个对接工作。

这样的话其实对于前端来讲,它其实是更加方便于我们去做一些大的应用,那么其实我们可以看到它其实就是Serverless Framework它其实也是由几块构成,第一块其实是Serverless应用生命周期的一个管理,就是我们的CLI还有我们即将上线的Dashboard,这块的话其实它是有一些类似于服务部署,查看,回滚以及我们调试我们的日志以及我们的DevOps的一些支持,那么Serverless应用的话其实它就是包括了两个部分,包括我们标准化的一个框架还有我们组件化开发,那么Serverless资源这块的话其实它是可以无缝对接到腾讯云的一些Serverless资源,比方说我们刚刚推出的类似于TSQL等一些产品,以及我们可能在后面去对接的一些类似于LB这样的一些Serverless 资源的一些产品,其实这些就是Serverless资源,那么所以想给大家表明的一个立场就是无服务计算Serverless Computing其实几乎分装了所有的底层资源包括我们系统运维的一个工作,它可以使我们的开发者尤其是我们前端开发者更加容易的使用我们的云基础设施,Serverless其实提供一个方式,简化了基于云资源的编程比方说这是从汇编语言到高级语言的转换,Serverless其实就是一个底层初中资源的一个概念。然后它下面可能会有两层,第一层是我们的发型,这块的话狭义的讲就是我们的SOA,还有我们的Baas,这块来讲就是我们所用到的一些周边的云资源,类似于我们的SQL,类似于我们的COS这种云资源的一些集合。


问卷

为了给广大开发者提供最实用、最热门前沿、最干货的视频教程,请让我们听到你的需要,感谢您的时间!点击填写 问卷

关注“腾讯云大学”公众号,回复【加群】进入交流群

腾讯云大学是腾讯云旗下面向云生态用户的一站式学习成长平台。腾讯云大学大咖分享每周邀请内部技术大咖,为你提供免费、专业、行业最新技术动态分享。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 点击观看大咖分享
    • Serverless 是什么?
    • 问卷
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档