无服务器计算的5个优点和3个缺点 - TechRepublic


无服务器计算非常适合某些应用程序,但在首先进入无服务器深度端之前需要考虑一些缺点。如果您已经接触过云计算世界,您可能已经听说过一种越来越受欢迎的服务:无服务器计算。
这种形式的计算即服务有其优势,特别是对那些真正想要放手云计算的人来说,但并非适合所有人。如果您一直在考虑放弃一台永远在线的云计算机,转而使用按需无服务器服务,请权衡这些优缺点,以帮助确定无服务器计算是否适合您。

1.没有基础设施可以维护
关于云是否真的是“ 别人的计算机 ”的辩论还在继续,但这场争论在无服务器计算中并没有真正占据一席之地。
无服务器计算机服务是用于执行单个功能的小代码片段,在预先存在的服务器上执行,这些服务器也为无数其他客户运行功能。由于您实际上正在使用其他人的计算机来执行无服务器功能,因此没有基础架构可以维护 - 甚至虚拟化 - 无服务器计算。

2.功能未运行时无成本
与其他云服务相比,与无服务器计算相关的成本很低。在无服务器模型下消除了访问授权,存在检测,安全性,图像处理以及与操作服务器相关的其他成本,无论是物理的还是虚拟的。
要了解与无服务器计算相关的成本,请查看 AWS Lambda定价表。Lambda函数是AWS提供的一种无服务器计算,对于那些需要执行分析,处理数据,管理Web应用程序或执行Lambda处理的其他服务的人来说,它具有极高的成本效益。
那些每月执行不到一百万和400,000 GB秒计算时间的人不必支付任何费用。除此之外,每增加一百万个请求只需要0.20美元,每增加一个GB秒处理能力只需0.00001667美元(这只是一个估算值,可以根据函数使用的内存量而有所不同)。除香港外,所有地区的定价均相同(有关详细信息,请参阅AWS Lambda定价页面)。
简而言之,无服务器功能可能很便宜,如果它们没有被使用,你就不会支付任何费用。

3.无限可扩展
展望谷歌的云功能,其 最大的卖点之一是其自动扩展功能。Google与AWS和Azure共享这种功能 - 事实上,任何值得投资的无服务器平台都可以根据需要进行扩展。
这是无服务器计算的另一个优势 - 无需为现有实例分区新的云服务器或购买额外的计算能力。所有这些都是由无服务器计算平台处理的,除了稍微大一点的额外计算时间外,您不会感到复杂。

4.减少延迟
Cloudflare指出,使用无服务器功能可以大大减少最终用户的延迟。任何云提供商的数据中心都可用于运行无服务器功能。这意味着用户最接近的服务器将是执行该功能的服务器,从而显着缩短响应时间。

5.降低软件复杂性
构建直接在计算机上运行的代码时,必须考虑很多事情:操作系统,执行某些任务所需的硬件资源,依赖关系以及其他因素都是构建功能应​​用程序的一部分。
无服务器计算功能不需要考虑任何因素 - 代码只需要被所使用的云平台支持。除了易于构建之外,无服务器功能需要 更少的编码知识来构建,这为低技能水平的人开放了开发。

无服务器计算的3个缺点:
1.安全问题
运行无服务器功能的服务器为无数客户运行它们,这会引发许多安全问题。TechRepublic姊妹网站ZDNet列出了 与无服务器计算相关的10种潜在安全风险,其中包括:

  • 函数事件数据注入,这是对运行无服务器功能的服务器的SQL注入式攻击;
  • 不安全的无服务器部署配置,它解决了管理端的任何错误,使无服务器计算服务器对中间人攻击开放;
  • 对功能的监控和记录不充分,这可能会使管理员向执行侦察的攻击者倾斜,以测试攻击的可能性;
  • 不安全的第三方依赖项 - 调用第三方依赖项的无驻留功能可能会使数据面临风险,如果这些依赖项包含恶意代码; 和
  • 对无服务器平台的DDoS攻击可能会使它们超载并同时为多个客户取消功能。

2.供应商锁定
在一个平台上构建无服务器功能可能意味着很难迁移到另一个平台 。代码可能需要重写,一个平台上存在的API可能不存在于另一个平台上,从AWS转移到Azure或Google Cloud需要承诺额外的人力(和金钱)。
如果您打算投资无服务器平台,请确保您正在考虑的供应商拥有您需要的一切,因为对您的无服务器计算提供商不满意几个月或几年的服务可能是一个主要问题。

3.调试更加困难
每次无服务器实例加载时,它都会创建自己的新版本,这意味着收集调试和修复无服务器功能所需的数据很困难。
虽然存在记录无服务器功能事件的第三方工具,但是如果不添加其他工具,调试无服务器功能可能很麻烦。例如,AWS 需要逐步调试(逐行)以找出出错的地方。
调试无服务器功能是可能的,但这不是一项简单的任务,它可能会占用大量的时间和资源。