失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【云原生】Serverless(无服务) 是什么?带你一探究竟

【云原生】Serverless(无服务) 是什么?带你一探究竟

时间:2020-10-19 10:17:17

相关推荐

【云原生】Serverless(无服务) 是什么?带你一探究竟

云原生的浪潮正席卷着互联网行业的每个角落,在网上翻阅各种文章时你也许会常常看到“Serverless 实现云原生”的字眼。或许你会疑惑“Serverless 是什么?”、“Serverless 就是不使用服务器吗?”事实上,Serverless 并不像它字面意义所误导的那样,不使用服务器,而是说开发人员不用去配置管理服务器,以至于感受不到服务器的存在。

令人误解的“Serverless”

如今各种无服务云产品风靡一时,比如说无服务器计算、无服务器数据库、无服务器存储、无服务器消息传递等等。那么究竟 Serverless 是什么,让我们先从服务器谈起。

什么是服务器

简单来说,服务器是一台设计为二十四小时全天候不间断运行,为网络上其他人提供服务的计算机。

服务器的简单理解

我们离服务器并不遥远,我们在使用互联网时就已经与数百台服务器进行了交互,这些服务器比如说有向我们发送网页的 Web 服务器、用于通信的邮件服务器、用于存储文件的文件服务器、已经用于娱乐的游戏服务器等等。

我们接触的各种类型的服务器

这些服务器通常位于大型的数据中心,有着计算速度快、存储大、网络连接快的优点,但是也存在着扩展不灵活、维护繁琐的问题。

服务器存在的问题

扩展不灵活

在托管我们自己的网站时或许使用自己的服务器。访问我们网站的流量会存在一个波动现象。当网站每天只有少数访问者时,服务器大部分时间都会闲置,这称为过度配置(Over-provisioning)。服务器并未得到充分利用,因此大部分资源都被浪费了。

访问量过少,服务器闲置睡眠

而当网站被一次性大量访问者访问时,服务器将耗尽容量而崩溃,这被称为供应不足(Under-provisioning)。

访问量过多,服务器崩溃

产生这两种现象的本质原因在于流量或者说服务器需求量的无法预测。预先估计需要多少服务器资源几乎是不可能的,某个网站对服务器的需求可能一夜陡增,也可能缓慢增长数月。

无法预测的服务器需求量

在尝试预测流量的过程中,如果低估了流量大小,那么网站服务将会变慢。一旦高估了,服务器成本又会大大增加。

维护繁琐

除了上述服务器的扩展问题,服务器还存在着维护繁琐的问题。开发人员需要投入大量时间维护服务器,用户必须更新软件、更换故障硬件、确保它们具有可靠的互联网连接等,以至于开发人员没办法专注于开发应用程序。

分身乏术的开发人员

为了解决这些问题,云提供商推出了“无服务器”产品。Serverless 使得我们运行服务器时不必担心服务器或其他底层基础设施,进而可以完全专注于开发应用程序。比如想要创建文件共享服务,使用无服务器存储产品我们就可以存储数百万个文件,而不必担心没有足够的硬盘来存储它们。

可以说无服务器产品完美解决了服务器扩展不灵活、管理繁琐的问题,有着众多的好处。

Serverless 的好处

无服务器产品有三个主要的好处:按需付费、扩展灵活、管理豁免。

按需付费:无服务产品会根据实际的使用情况向用户收费。网站通常有着流量的起起落落,面向业务的网站可能会在工作时间涌入大量流量,但在晚上几乎没有,这个时候如果使用常规服务器,无论是否有大量流量,全天都会有服务器的固定成本,此外也可能导致服务器不足或者浪费的问题。

扩展灵活:另一个好处是可拓展性,无服务器旨在应对庞大的需求。托管一个只有少数访问者的小型网站是可以的,而且如果网站突然开始吸引数百万访问者,那也没关系,因为在幕后,云提供商会为网站分配更多的服务器,随着流量下降,服务器数量也会下降。此外,增加服务器容量意味着需要购买更多的服务器,并配置负载均衡器以平衡两台或更多服务器之间的访问者,这样一来更具挑战性,也更耗时。因此,简而言之,使用无服务器,用户永远不会拥有太多或太少的服务器,总是恰到好处。

管理豁免:最后一个好处是我们不必管理服务器,云服务器为我们管理了所有细节,从而可以专注于代码开发。这意味着我们不必购买设备、不必担心安装最新的补丁、没有硬盘驱动器死机的麻烦。最重要的是当站点或服务出现流量高峰时,没有扩容的烦恼。也不必担心在设备使用寿命结束时的升级和设备更换。

拥有众多好处的 Serverless 也不可避免的存在着相应的缺点。

Serverless 的缺点

锁定风险:每一个云提供商都有自己特定的无服务器产品,而且它们不一定相互兼容,这意味着用户有被云提供商锁定的风险。如果不注意这一点,未来如果想切换到另一个提供商,这可能会成为一项沉重繁琐的工作。无服务器数据库就是一个很好的例子,所有云提供商都提供它们,但它们都支持一组不同的功能。当依赖这样的功能时,如果我们不重新设计网站或服务,就不可能转向其他云厂商的服务。

并非万能:Serverless 并不是任何事情的解决方案。比如,无服务器数据库通常会限制查询数据的方式。无服务器计算产品会将代码可以运行的时间限制为几分钟。有时无服务器产品还会动态更改分配给用户的网站或应用程序的容量。

虽说 Servlerless 有着以上一些缺点,但正因为它极为强大的优势,Serverless 在云原生的时代正持续发挥着重要作用。

(部分图片来自网络,如有侵权,立即删除)

如果觉得《【云原生】Serverless(无服务) 是什么?带你一探究竟》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。