Serverless和PaaS的区别

Serverless和PaaS有什么区别?

对开发者来讲,Serverless和PaaS的后台架构都是对用户不可见的,她们是很相似的。但是,这两者之间还是一定差异的,对不同的场景选择其中之一可以更好的满足使用场景。

Serverless和PaaS最大的差异在于:可扩展性、价格、启动时间、工具集和边缘计算能力。

 

 

可扩展性

Serverless应用可以立即扩展、自动扩展、按需扩展,开发者不需要额外的配置。相比之下,虽然开发者可以按用户需求来编程PaaS应用,以实现扩展缩放,但这种实现不是PaaS平台内置提供的,开发者需要做一定的扩展预测。

Serverless计算资源可以比喻成从水龙头取水;现代住宅里的水龙头可以随时打开,按照需求想要多少水都可以得到。PaaS则更像饮水机或矿泉水派递服务,虽然想要多少水也可以得到,但是不像水龙头一样简单,因为需求增长时客户需要请求供应商提供更多。这两个场景中,虽然提供水质净化、送水上门的工作者都是在幕后,但是只有水龙头可以精确的扩大或缩小用水量,达到按需、实时供水。

Serverless架构可以做到快速扩展,通过快速增加Serverless functions实例;也可以做到快速缩减,通过关闭functions实例(当它们不再被需要时)。事实上,无服务网络应用程序可以一直缩减直到无实例活动,然后又在秒级或毫秒级别迅速启动,以响应触发事件。而构建在PaaS上的应用程序无法做到如此迅速和大规模的扩展或缩减。

工具集

PaaS供应商一般会提供给开发者很多工具来构建和管理应用,如测试工具、调试工具。而无服务计算应用程序因为并不会跑在特定的机器或虚拟机等,无论运行在哪里,serverless functions都需要表现一致。所以,Serverless供应商虽然也提供一些工具集,但是不会提供一套完整的环境来构建和测试应用。

参考:https://www.cloudflare.com/learning/serverless/glossary/serverless-vs-paas/

猜你喜欢

转载自www.cnblogs.com/lichu-lc/p/10887031.html