说要穿红色旗袍
5542023-08-24
style="text-indent:2em;">大家好,今天小编来为大家解答以下的问题,关于前端为什么有人说要关注Serverless,为什么不建议做前端运维这个很多人还不知道,现在让我们一起来看看吧!
本文目录
之前在一个小企业做网络运维,其实挺轻松的,就是入职熟悉了需求之后,跟领导申请把服务器,路由,交换机,客户机都按需重新调整了一遍。给所有服务器,路由,电脑统一安装了zabbix,之后的两年里几乎都没事干了,……然后闲的太无聊就自己出来创业了
linux和vim属于后端,前端程序员不需要学习,你应该把精力放在学习html5,Vue,React上,这三项估计需要半年的时间可以入门!
最近给同事也讲了一下,要不部门内部我们自己尝试尝试Serverless?
同事问我收益是啥,我也一时说不上来,后来整理了一下,同步发一下吧。
首先如果在公司内部做serverless的尝试方案:
先搞清楚下面这几个问题:
1,什么是serverless,对于前端和客户端以及运维来说有什么收益。
1.1首先理解serverless,需要先理解以下几个概念:
Serverless的演进和形成主要经历了:1,IaaS(Infrastructure-as-a-Service,提供物理机服务),2,PaaS(Platform-as-a-Service,平台既服务,如阿里云,七牛,甚至我们自己的nvm,sce等),3,CaaS(Container-as-a-Service,容器既服务,类似我们现在内部的dockerk8s服务),4,FaaS(函数既服务,一个容器一个函数,使用时才消耗资源,不含存储,只包含逻辑),5,Baas(backend-as-a-service,后端既服务,提供存储,数据库操作,消息转发,静态服务等云服务功能)。
我们目前整体新浪还处于IaaS,PaaS结合Caas的阶段,我们的服务目前有部署在物理机的,有部署在nvm平台的,有部署在容器cs服务中的。
那么我们现在理解了serverless的演进后,我们可以认为Faas和Baas才是最终serverless的最后形态。
1.2他对于前端和客户端开发人员来说:
1,可以直接使用客户端代码编写后端和前端服务逻辑,利用BaaS提供的云服务,关联到FaaS中,实现对数据的操作,文件的上传,接口的调用,路由的注册等,可以更快速无损的开发app应用和前端应用。
2,面向业务编程,不需要了解复杂的后端服务配置和部署等,只需要编写函数完成API开发即可,加快生产力。
1.3他对于后端人员来说:
1,不需要关注具体服务,只需要关注具体功能。
2,只需要面向API编程,而不是业务编程。
1.4他对于运维人员来说:
1,只需要维护好faas和baas的服务集群即可。
2,更节约成本,而且会比caas和paas更节约服务器资源,因为只有当函数接口被调用时,才会启动容器,执行函数,执行完毕后再释放函数,没有调用则不会有资源浪费。
2,serverless的使用场景:
2.1,首先我们说的主要还是faas和bass的使用场景。
2.1.1纯函数,比如计算,接口调用中转,查询服务,接口拼接,SSR等。
2.1.2由事件触发,比如数据处理,接收数据消费,定时任务,消息转发等。
2.1.3如果有存储逻辑,比如上传图片,裁切,处理音视频等等,可以提供通用的baas服务的sdk或者api来进行处理即可。
2,结合部门自己的业务,我们什么地方可以使用serverless:
2.2.1c端场景需求:我们开发创新产品或者小程序,app,前端网页时可以无需后端开发人员配合支持。
比如我们要开发一个ugc的社区,类似微博,绿洲这种app,我们需要的是注册,登录,feed流,增删改查文章,上传图片,视频等功能。
场景1:那么比如注册,登录统一的api(现在sso服务就可以直接复用,在faas中调用sso服务接口就可以)。
场景2:用户的头像上传,图片,视频上传可以直接调用s3的服务接口或者cdn接口直接用faas包装即可,无需后端配合。
场景3:用户发布文章,删除,修改文章等,需要操作数据库,这里包含了简单的curd的业务逻辑,我们可以直接使用云平台创建好服务器,然后接入baas中的比如mysql的client,直接在faas中编写对应的curd逻辑即可,或者利用一些开源的curd包,aws,阿里云都有类似的功能,在新浪我们可以拆开成faas和baas结合+paas的解决方案。
那么我们开发这么一个ugc社区,当我们拥有了serverless架构服务后,我们完全可以纯前端完成功能。(理想情况)
2.2.2内部b端场景:
场景1:我们要实现一套无纸化办公app或者web系统,比如我们的scheme服务,hybrid后台发布服务中的部分逻辑,比如圈用户,圈版本等接口都可以直接拆分到faas服务中。
场景2:我们经常要分析处理一些数据,定时进行数据计算,我们可以直接在faas中的定时任务完成计算逻辑和消息转发功能。
其中场景2,我们目前需要申请服务器,开发crontab脚本,再申请数据库,进行数据二次处理写入。或者还要在luwak上编写sql,配置任务,但是如果和sql无关的任务则luwak无法满足需求。
3,serverless的实现和开源方案,业界对比:
1,阿里云,腾讯云,头条云,AWS,google的云服务等。
2,开源服务:Openfaas(社区的),KNative(google的),OpenWhisk(IBM,太老了这个多个开源系统拼接),Kubeless,Fission(k8s官方的),Fn(Oracle的,兼容AWS的Lambda函数服务)
建议选openfaas或者kubeless尝试一下,看大家都比较推荐,因为咱们肯定是自建。
总结:其实还不错,如果公司不用,我自己的个人项目还是可以选择试试的。
不是一个方向~其实赚的都不少~主要看你对将来的发展规划是什么?如果你想考虑短期拿高薪挣一波钱的,就去搞开发,但你要考虑可能做到30多岁转行的问题,而且工作压力和节奏会更大一些。如果想做技术但又不想抗那么大的压力,运维是一个很不错的选择。我知道很多运维工程师在公司,有事儿就找他,没事儿就是打打游戏~一天就下来了~偏偏公司还离不开他们~而且薪资不低,还能干到退休~像这两种我周围都有很多人转行过去的~甚至还为此去参加培训班之类的,可想而知互联网行业有多火了~
文章分享结束,前端为什么有人说要关注Serverless和为什么不建议做前端运维的答案你都知道了吗?欢迎再次光临本站哦!