阿里云宣布全面serverless化?serverless是什么
- 软件开发
- 2023-09-28
- 42
很多朋友对于阿里云宣布全面serverless化和serverless是什么不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!前端为什么有人说要关...
很多朋友对于阿里云宣布全面serverless化和serverless是什么不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
前端为什么有人说要关注Serverless
最近给同事也讲了一下,要不部门内部我们自己尝试尝试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尝试一下,看大家都比较推荐,因为咱们肯定是自建。
总结:其实还不错,如果公司不用,我自己的个人项目还是可以选择试试的。
如何使用阿里云soo
要使用阿里云SOO(机器学习流水线服务),可以按照以下步骤进行:1.登录阿里云控制台:在阿里云官网上登录您的账号,并进入控制台。2.打开SOO服务页面:在阿里云控制台中搜索“SOO”,然后选择“机器学习流水线服务”。3.创建流水线:在SOO服务页面中,点击“创建流水线”,然后设置流水线的名称和描述。4.定义流水线模板:在流水线页面中,选择“定义流水线模板”,然后按照您的需求,选择不同的任务节点插件,并配置每个节点的参数。5.配置输入和输出:在流水线页面中,选择“配置输入和输出”,然后为您的流水线定义输入和输出的数据资源。6.运行流水线:在流水线页面中,点击“保存并运行”,然后等待流水线完成。7.监控和管理流水线:在流水线页面中,可以通过查看日志、监控性能和管理流水线状态等功能,来监控和管理您的流水线。这些是基本的步骤,您可以根据具体需求进行更多的配置和操作,以满足您的业务需求。
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!
本文链接:http://xinin56.com/ruanjian/39597.html