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作为一种云服务,使得整个应用程序组件被商品化。
扩展能力:
横向扩展是完全自动的、有弹性的、且由服务提供者所管理。从基本的基础设施方面受益最大的好处是,您只需支付您所需要的计算能力。
更简单的管理:
Serverless架构明显比其他架构更简单。更少的组件,就意味着您的管理开销会更少。
有效利用计算资源:
据《福布斯》的统计,在商业和企业数据中心的典型服务器仅提供5%~15%的平均最大处理能力的输出。这无疑是一种资源的巨大浪费。Serverless让服务提供商提供我们的计算能力最大限度满足实时需求,更有效地利用计算资源。
Serverless架构的缺点
状态管理:
要想实现自由的缩放,无状态是必须的,而对于有状态的服务,使用serverless这就丧失了灵活性。
延迟:
Serverless应用程序是高度分布式、低耦合的,这就意味着延迟将始终是一个问题,单纯使用serverless的应用程序是不太现实的。
本地测试:
Serverless应用的本地测试困难是一个很棘手的问题。虽然可以在测试环境下使用各种数据库和消息队列来模拟生产环境,但是对于无服务应用的集成或者端到端测试很困难。
1. 单击开始,单击运行,在打开(OPEN)框中键入以下命令行,之后单击确定: net start rpcss 进行测试,查看这是不是处理了问题。假如仍然出现此问题,则继续执行下一步。 2. 单击开始,指向程序,指向附件,之后单击命令提醒符。 3. 在命令提醒符处,键入 ping servername,其中 servername 是要测试其连接的服务器、NetBIOS、DNS 或 GUID 名称。 假如其中的1台计算机存在连接问题,请与网络(互联网)管理员联系以处理问题。假如仍然出现此问题,则继续执行下一步。 4. 用 Microsoft Windows 支持工具(包含在 Windows CD-ROM 上)中包含的 Netdiag 工具确定域控制器是不是正常工作。可以用 MSRPC、DNS、NBT、LDAP 或 TCP 协议执行网络(互联网)跟踪。 假如域控制器存在问题,请与网络(互联网)管理员联系以处理问题。假如仍然出现此问题,则继续执行下一步。 5. 用 Windows 支持工具中包含的 Netdom 工具验证网络(互联网)信任关系,之后重置或建立到服务器的连接。欢迎分享,转载请注明来源:夏雨云
评论列表(0条)