什么是Serverless架构

什么是Serverless架构,第1张

Serverless(无服务器架构)是指服务端逻辑由开发者实现,应用运行在无状态的计算容器中,由事件触发,完全被第三方管理,其业务层面的状态则存储在数据库或其他介质中。

Serverless可以使开发者更聚焦在业务逻辑,而减少对基础设施的关注。

Serverless通常包含了两个领域 BaaS(Backend as a Service)和 FaaS(Function as a Service)

BaaS是一种广泛依赖于第三方应用和服务的无服务器计算方法。BaaS供应商可以提供加密、用户认证、云数据库的使用。这些服务可以通过调用云供应商提供的API进行访问;相比自己重新开发,这些功能可以更方便地整合到各个类型的系统中。

FaaS 是一种事件驱动的由消息触发的服务,FaaS 供应商一般会集成各种同步和异步的事件(如AWS的SNS),通过订阅这些事件,可以触发指定的函数运行,例如当前使用很广泛的 AWS 的 Lambda函数。


Serverless架构的优点

降低运营成本:

Serverless是非常简单的外包解决方案。它可以让您委托服务提供商管理服务器、数据库和应用程序甚至逻辑。由于这个服务使用者的数量会非常庞大,于是就会产生规模经济效应。在降低成本上包含了两个方面,即基础设施的成本和人员(运营/开发/维护)的成本。

降低开发成本:

Serverless作为一种云服务,使得整个应用程序组件被商品化。

扩展能力:

横向扩展是完全自动的、有d性的、且由服务提供者所管理。从基本的基础设施方面受益最大的好处是,您只需支付您所需要的计算能力。

更简单的管理:

Serverless架构明显比其他架构更简单。更少的组件,就意味着您的管理开销会更少。

有效利用计算资源:

据《福布斯》的统计,在商业和企业数据中心的典型服务器仅提供5%~15%的平均最大处理能力的输出。这无疑是一种资源的巨大浪费。Serverless让服务提供商提供我们的计算能力最大限度满足实时需求,更有效地利用计算资源。


Serverless架构的缺点

状态管理:

要想实现自由的缩放,无状态是必须的,而对于有状态的服务,使用serverless这就丧失了灵活性。

延迟:

Serverless应用程序是高度分布式、低耦合的,这就意味着延迟将始终是一个问题,单纯使用serverless的应用程序是不太现实的。

本地测试:

Serverless应用的本地测试困难是一个很棘手的问题。虽然可以在测试环境下使用各种数据库和消息队列来模拟生产环境,但是对于无服务应用的集成或者端到端测试很困难。

服务器分塔式、机架式和刀片式这三种结构来划分服务器,服务器的外形为什么会有这样的划分呢?主要原因就是具体的应用环境不同,塔式服务器长得跟我们平时用的台式机一样,占用空间比较大,一般是一些小型企业自己使用自己维护;而机架式服务器长得就像卧着的台式机,可以一台一台的放到固定机架上,因此而得名,它可以拿去专业的服务器托管提供商那里进行托管,这样每年只需支付一定的托管费,就免去了自己管理服务器的诸多不便;而刀片服务器是近几年才比较流行的一种服务器架构,它非常薄,可以一片一片的叠放在机柜上,通过群集技术进行协同运算,能够处理大量的任务,特别适合分布式服务,如作为WEB服务器。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13121793.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-04
下一篇 2023-06-04

发表评论

登录后才能评论

评论列表(0条)

保存