现在各大云厂商都在推广的 Serverless 产品,和当初的 GAE/SAE/BAE,甚至是更早的“虚拟主机”,主要区别在哪?

2020-06-19 04:15:45 +08:00
 yuzo555

我怎么感觉就是 SAE (新浪云)类似产品的一个换皮重来?相比于更早的“虚拟主机”,也就是多了个资源弹性使用的特性。

或者说,这类 Serverless 产品解决了哪些 SAE 无法实现的痛点呢?

5814 次点击
所在节点    Serverless
19 条回复
jadec0der
2020-06-19 04:30:05 +08:00
Serverless Function 粒度更细,可以是真正意义上的把一个函数托管。比如你可以写一个 AWS Lambda 放在队列下游,每条消息触发一次处理,然后针对这个 Lambda 做治理,比如权限,计费。

SAE 的话是把一个 web application 托管了,在 AWS 叫 Beanstalk 。
yyfearth
2020-06-19 05:32:56 +08:00
Serverless 可以看作是 GAE/SAE/BAE 这些 PaaS 的进化
GAE/SAE/BAE 只是提供了一个弹性的虚拟主机加运行时环境
你在 GAE/SAE/BAE 上面写的 App 还是一个独立的 server
既然是服务器你既要一直跑着 如果停了 你的功能就停了

Serverless 其实就是在 PaaS 基础上 你这个常驻的 server 不需要了
你直接提供一个 Function 然后由 Serverless 服务来触发
而且这个触发条件也很丰富 不一定要 http call 了

另外由于这个触发的模式 那么计费的方法也就完全不一样了
PaaS 或者其他形式的服务 就算没有人用你的 你的 server 还是得跑着 那么就要付钱
Serverless 默认情况下 如果没有人用来触发 Function 一般情况下你就不需要付费
yyfearth
2020-06-19 05:39:57 +08:00
另外我们一般把云服务分成 IaaS PaaS SaaS
IaaS 其实就是可以用 API 自动管理的虚拟机 VM 比如 AWS EC2 和 GCP CE
PaaS 其实就是“弹性”的虚拟主机加某个语言的运行时 可以是基于 VM 也可以基于容器
SaaS 其实就是应用本身了 一般 SaaS 要用 PaaS 或者 IaaS 来运行

作为基础的 IaaS 目前其实就那样了 只需要提供效率,速度和加强管理能力
但是 PaaS 比如 GAE/SAE/BAE 现在已经愈来愈不流行了
因为出现了 CaaS (容器即服务) 和 Serverless

CaaS 即可以当作是一个更加灵活的 PaaS,你可以随便定义自己需要的环境;也可以当作是一个更快更轻量的 IaaS,启动时间大大减少,扩容也更加容易 介于 IaaS 和 PaaS 直接

Serverless 就上上面说的就是一个简化版的 PaaS 你只需要提供 Function 来触发即可 而且可以支持多种语言 收费也更加弹性 可以理解是比 PaaS 更加接近 SaaS
vcheckzen
2020-06-19 06:52:04 +08:00
用一下就会知道了
love
2020-06-19 07:38:03 +08:00
@yyfearth php 虚拟主机不是也没有常住 server,和那个比起来有啥特别优势吗
est
2020-06-19 07:39:08 +08:00
其实没毛线区别,变花样计费而已。
murmur
2020-06-19 08:02:27 +08:00
serverless 对于小厂是彻底的投降,对于大厂是高度的复用,对于个人是快速的上线,看你怎么理解。
以前的云服务只是寄人篱下,万一被搞还可以打包数据跑,用了 serverless,基本服务甚至用户数据都是平台的,按死你更彻底
foam
2020-06-19 08:05:07 +08:00
@love 不管虚拟主机运行的是啥语言,只要你的虚拟主机正在运行,那你就要给钱。而 serverless,只有被调用才需要给钱。
foam
2020-06-19 08:13:11 +08:00
@murmur 看怎么取舍了。最开始的时候大家都用自己的物理机,后面慢慢发展到用虚拟主机,云服务器,docker,serverless 。都是在不断地抽象,尽可能的把资源合理的利用起来。也统一托管了维护服务。最终的目的都是为了降低成本(人力 /物理资源)。
所以最后还是要根据自己的需求,从数据安全开发成本等方面考虑用哪一层技术,用在刀刃上就对了。
opengps
2020-06-19 08:28:08 +08:00
同样还是虚拟主机,但是底层变了,以前是单机上的虚拟,连续开机下来,一年里高概率硬件故障运维故障重启一次,现在则是云底层,一般故障后台漂移避开,对外表现为不轻易故障
sujin190
2020-06-19 09:57:38 +08:00
serverless 最大的特点本身就是把算法由被动等待服务变成主动服务,部署运维那些就不说了,对于云服务商来说资源利用率更高,对于你来说那些 90%不使用的时间都不用付钱了,再者互联网渗透率进一步加深后,空闲时间和繁忙时间两级差距进一步拉大,算法可以无状态自动化扩容自我维护这真的太需要了

虚拟主机完全没法比,且不说自动扩容免维护了,资源隔离都做不到,更别说啥资源利用率,说个锤子

SAE 算是不错了,但是其设计之初完全是基于 IDC 时代减少手动维护的思路设计的,并非是现在云和智能化运维思想的产物,其资源利用率,可维护性并没用得到很大进步,这也是价格还是很贵的原因之一吧,这就好比 SAE 勉强由手工时代进步到小作坊时代,serverless 则是流水线自动化大型工厂,没法比

而且可以预见,未来必定进一步完算法和运行环境分离,数据就是权力与资产,那么爆炸性的数据增长和极低门槛数据融合的进一步需求必然增加,serverless 或许是一个不错的基础
yyfearth
2020-06-19 10:19:07 +08:00
@love 对于 php 的特殊性 对于纯开发而言 确实没什么区别 可能虚拟主机还更方便 因为不用部署 直接上传即可
但是对于运维而言 区别还是有的 首先不需要配置虚拟主机 而且也不用考虑扩容的问题
对于收费也不一样 如果持续都在用 估计会更贵 但是如果用的频率低 那么费用会大幅减少 说白了就是没人用的话 你基本上也不用付钱
bigpigB
2020-06-19 10:24:25 +08:00
@est 。。。。。。。。
yyfearth
2020-06-19 10:53:35 +08:00
@foam 我觉得基本上未来就是 Kube/Docker + Serverless Function
然后 IaaS 就用来自搭 Kube/Docker 或者 Serverless 或者 BaaS 或者跑一些老旧服务
纯 PaaS 估计要被淘汰了


@murmur 对于小厂 虽然交出了数据和控制权 但是省下了运维人工费
这个对于初创公司而言 意义就大了 找 1-2 个开发和测试 产品都不用写完就可以上线了
caotian
2020-06-19 12:43:04 +08:00
别听云厂商的胡扯, 阿里云的那个类似 SAE 的叫什么产品来着, 当时用它做了个项目, 交付客户一年多了, 结果他突然通知这个产品要下线, 给一个月时间迁移... 没办法, 花了很多时间把跟这个产品相关的代码全部重构掉, 现在云服务, 除了几个通用的服务外, 其它的都不买, 要用就买云服自己搭
caotian
2020-06-19 12:45:50 +08:00
然后, Docker 来了, 有个项目有点规模, 看阿里云有容器集群, 就用阿里云的集群功能搭建了个 Docker Swarm 集群, 然后又是一年多, 他又通知 Docker Swarm 集群要下线, 赶紧迁移到 K8s, 这回给了大半年的时间迁移, 你说他贱不贱
awolf
2020-11-10 17:04:43 +08:00
@caotian 你用到哪些能力是强依赖 sae 的?他那个配置不是只有 nacos 么?
awolf
2020-11-10 17:05:16 +08:00
@caotian 哦。你说的是另外一个 PaaS 产品
CODEWEA
2020-11-27 14:53:40 +08:00
其实就是按流量计费 0.8/G

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/682894

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX