前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >无服务计算的利与弊

无服务计算的利与弊

作者头像
SDNLAB
发布2022-03-21 12:40:26
3.5K0
发布2022-03-21 12:40:26
举报
文章被收录于专栏:SDNLABSDNLAB

据IBM最近的一项调查显示,无服务器的采用正在逐年增加,68% 的用户表示他们可能会在未来两年内采用无服务器架构。

乍一看“无服务器”一词可能带有一定的误导性。这并不意味着服务器不存在,而是用户不必担心后端架构或服务器,因为管理它的这部分工作转移到了服务提供商身上,它将员工从服务器管理工作和基于架构的任务中解放出来。无服务器计算和无服务器架构概念经常互换使用。

无服务器计算如何工作?

管理服务器是一个复杂的过程,通常涉及大量的工作。设置服务器并将服务器部署应用只是第一步,后续还必须对其进行监控、定期维护、配置、更新、扩展等等。

相比之下,无服务器可以摆脱所有繁杂的工作。开发人员可以专注于业务需求,而无需担心管理任何底层基础设施。通过编程语言(最常见的是 Python 和 Node.js),开发人员可以使用第三方资源来托管应用,从而变得更加快速且高效。

从开发人员的角度来看,这就好像服务器不存在一样。因此才有了“无服务器”这个术语。事实上,服务器仍然提供后端服务,只是由服务提供商处理所有事情。

无服务器计算的特点

无服务器计算的显著特点包括:

  • 抽象出服务器和维护它们的复杂性。
  • 提供即用即付(pay-as-you-go)成本模式,仅对使用的资源收费,减少了闲置资源或未使用空间的成本。
  • 可以根据需求的变化快速、自动地扩展。
  • Serverless是事件驱动的, 因此它仅在特定事件触发时运行。一旦触发事件,它就会执行任务,然后在几分钟后终止。 
  • 开发人员可以专注于构建代码,而不是浪费时间维护基础设施。

无服务器计算的好处

无服务器计算有几个优点:

  • 更快的上市时间:使用无服务器无需担心设置后端基础架构,可以轻松设置开发环境,快速进入市场。 
  • 没有服务器管理:无服务器计算依旧在服务器上运行,但是由云服务提供商 (CSP) 管理这些服务器。因此,开发人员不必担心服务器的管理工作,他们需要做的就是运行和执行代码。
  • 更低的成本:对于传统系统,通常需要购买容量过剩的服务器以避免出现宕机等情况。但是在无服务器的情况下,只需为所使用的资源和它们运行的时间付费。因此,无服务器计算的成本更低。
  • 高度可扩展性:无服务器的最大优势之一是它可以自动、轻松地扩展以适应需求,而无需用户干预。

无服务器计算的缺点

虽然无服务器计算对特定用例极具优势,但它也有一些缺点。

  • 厂商锁定:无服务器平台大多由云服务提供商提供,因此企业会面临厂商锁定问题。
  • 运行时间有限:无服务器的一个缺点是它只能在有限的时间内运行。因此,长时间运行的工作负载不适合部署在无服务器上。
  • 调试很困难:在无服务器环境中调试应用是一项挑战,因为它是在分布式网络上进行的,几乎没有时间来确定问题的根本原因,而且日志记录能够提供的帮助也很有限,所以需要更先进的工具方法来进行准确的调试。
  • 延迟更高:通常,当无服务器功能长时间处于空闲状态时,供应商会将其关闭。因此在下一次调用时可能会遇到更高的延迟或冷启动问题,这对于时延敏感型应用来说很不友好。

无服务器平台

目前市面上主流的无服务器平台包括 AWS Lambda、Azure Functions、Google Cloud Functions 和 IBM OpenWhisk。下面一起来看一下。

AWS Lambda

无服务器计算领域的“大腕”之一 ,AWS Lambda ,于 2014 年推出,被誉为无服务器概念的引领者。它与其他 AWS 服务无缝集成,是AWS产品用户的首选。

特征:

  • 它原生支持 Node.js、Python、Ruby code、Java、Go、.Net Core、PowerShell 和 C# 等语言。
  • 涵盖每月 100 万次的免费执行套餐。 
  • 最长执行时间为 15 分钟。
  • 可以同步、异步地调用函数,或者使用基于轮询的调用模型。

Azure Functions

Azure Functions 是微软 Azure 的无服务器计算服务,可让开发人员运行事件触发代码。

特征:

  • Azure Functions 提供三种托管计划以满足用户需求。免费套餐同样包括每月 100 万次执行。超过之后针对不同的需求提供分层定价。
  • 支持 JavaScript、C#、PowerShell、F#、JAVA、Python 和 TypeScript。
  • 最长执行时间为 10 分钟。

Google Cloud Functions

Google Cloud Functions 作为谷歌云平台的一部分,于 2016 年发布,可以与谷歌的其他产品很好地集成,对于已经使用 Google 产品的用户来说,它是一个不错的选择。 

特征:

  • 免费处理前200万个请求。
  • 与 Azure Functions 和 Lambda 相比,它更便宜。
  • 支持多种基于事件的触发器,例如 Cloud Pub/Sub 触发器、HTTP、Cloud FireStore、Firebase 实时数据库、Firebase 身份验证等。

IBM Cloud Functions

IBM Cloud Functions 是基于 Apache OpenWhisk 的一个开源无服务器平台,允许用户按需执行代码。

特征:

  • 支持 PHP、Swift、Node.js runtime、Java 和 Python。也可以将其他编程语言与 Docker 容器集成。
  • 最长执行时间为 10 分钟。 
  • 提供99.95% 的 SLA。
  • IBM Cloud Functions 与 IBM Monitoring Service 集成可以提供更好的可见力。

无服务器的未来

全球无服务器市场预计将以 30% 的复合年增长率增长,到 2026 年市场将达到 160 亿美元。对于不能够承担额外的容量规划和资源供应负担的企业来说,无服务器计算是一种经济高效的选择。同样,对于寻求低运营成本和更快上市时间的公司来说,事件驱动的方法也极具吸引力。

但是,无服务器计算也有自己的缺点,它并不适合所有场景,因此企业在选择无服务器之前需要作出充分的考虑和规划。

本文编译自Enterprise Networking Planet

—— The End ——

【活动专栏】

【转载须知】

若转载文章为原创文章,可在相应文章下或公众号后台留言;其他非转载类文章须在文首以不小于14号字体标明转载自SDNLAB

【投稿】

欢迎SDN、NFV、边缘计算、SD-WAN、智能网卡、TSN、5G 网络切片等网络方向的观点类、新闻类、技术类稿件。

联系人:kk__wu(微信号)

投稿邮箱:pub@sdnlab.com

详情请参考:SDNLAB原创文章奖励计划

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SDNLAB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档