
如果您接触过云计算世界,您可能听说过一项越来越受欢迎的服务:。
这种形式的计算即服务有其优势,特别是对于那些真正想要不受干扰的云计算的人来说,但它并不适合所有人。如果您一直在考虑放弃始终在线的云计算机,转而使用按需无服务器服务,请权衡这些利弊,以帮助确定无服务器计算是否适合您。
看:为无服务器计算做好准备(ZDNet专题报道)|(科技共和国)
1. 无需维护基础设施
关于云是否真的是“云”的争论仍在继续,”但这种争论在无服务器计算中并没有真正的地位。
无服务器计算机服务是用于执行单个功能的小代码片段,在预先存在的服务器上执行,这些服务器也为无数其他客户运行功能。由于您实际上是在使用其他人的计算机来执行无服务器功能,因此无服务器计算无需维护基础设施(即使是虚拟的)。
2. 功能不运行时不产生任何费用
作为黑客中午指出与其他云服务相比,无服务器计算的相关成本是最低的。在无服务器模型下,可以消除访问授权、存在检测、安全性、图像处理以及与操作服务器(无论是物理还是虚拟)相关的其他成本。
要了解与无服务器计算相关的成本,请查看。 Lambda 函数是 AWS 提供的一种无服务器计算,对于那些需要执行分析、处理数据、管理 Web 应用程序或执行其他操作的人来说,它具有极高的成本效益。。
每月执行计算时间少于 100 万到 400,000 GB 秒的用户无需支付任何费用。除此之外,每增加 100 万个请求只需 0.20 美元,每增加 GB 秒处理能力只需 0.00001667 美元(这只是估计值,可能会根据函数使用的内存量而有所不同)。除香港外,所有地区的定价均相同(请参阅了解详情)。
简而言之,无服务器功能可能非常便宜,如果它们没有被启动使用,您就不需要支付任何费用。
看:(科技共和国)
3. 无限扩展
期待 Google 的云功能,其中之一最大卖点是它的自动缩放功能。谷歌与 AWS 和 Azure 共享这种功能——事实上,任何值得投资的无服务器平台都旨在根据需要进行扩展。
这是无服务器计算的另一个优势——无需对新的云服务器进行分区或为现有实例购买额外的计算能力。所有这些都由无服务器计算平台处理,除了稍大的额外计算时间费用外,您不会遇到任何复杂情况。
4. 减少延迟
Cloudflare 指出使用无服务器功能可以大大减少最终用户遇到的延迟。无服务器功能不从源服务器运行,因此最终用户的流量不需要定向到单个位置。
相反,任何云提供商的数据中心都可以用于运行无服务器功能。这意味着用户最接近的服务器将是执行该功能的服务器,从而显着减少响应时间。
5. 降低软件复杂性
在构建直接在计算机上运行的代码时,必须考虑很多因素:操作系统、执行某些任务所需的硬件资源、依赖项和其他因素都是构建功能应用程序的一部分。
无服务器计算功能不需要考虑任何这些——代码只需要得到所使用的云平台的支持。除了更容易构建之外,无服务器功能还需要编码知识少了很多构建,这为技能水平较低的人提供了发展机会。
看:无服务器计算高管指南(ZD网)
无服务器计算的 3 个缺点
1、安全问题
运行无服务器功能的服务器为无数客户运行它们,这带来了很多安全问题。 TechRepublic 姊妹网站 ZDNet 列出与无服务器计算相关的 10 个潜在安全风险,其中包括:
- 函数事件数据注入,这是对运行无服务器功能的服务器的 SQL 注入式攻击;
- 不安全的无服务器部署配置,这解释了管理端的许多错误,这些错误使无服务器计算服务器容易受到中间人攻击;
- 功能监控和记录不足,这可以向管理员提示攻击者正在执行侦察以测试攻击的可能性;
- 不安全的第三方依赖项– 如果这些依赖项包含恶意代码,则调用第三方依赖项的无服务器函数可能会使数据面临风险;和
- DDoS 攻击无服务器平台上的服务可能会使它们过载并同时关闭多个客户的功能。
2. 供应商锁定
在一个平台上构建无服务器功能可能意味着。代码可能需要重新编写,一个平台上存在的 API 可能在另一个平台上不存在,并且必须投入额外的人力(和资金)才能从 AWS 迁移到 Azure 或 Google Cloud。
如果您打算投资无服务器平台,请确保您考虑的供应商拥有您所需的一切,因为在您提供服务的几个月或几年后对您的无服务器计算提供商不满意可能会成为一个主要问题。
3、调试比较困难
每次无服务器实例启动时,它都会创建自身的新版本,这意味着很难收集调试和修复无服务器功能所需的数据。
记录无服务器功能事件的第三方工具存在,但如果不添加额外的工具,调试无服务器功能可能会很麻烦。以AWS为例,(逐行)找出问题所在。
调试无服务器函数是可能的,但这不是一项简单的任务,并且会占用大量时间和资源。
看:使用无服务器架构进行应用程序部署的优点和缺点(ZD网)
无服务器计算适合您吗?
您是否要考虑无服务器计算,更多地取决于您的特定需求,而不是它的优缺点。
如果您的计算需求倾向于具有单一目的的细粒度、短期运行的任务,那么无服务器计算可能是一项节省时间和金钱的巨大投资。如果您需要进行大量深入分析或执行长时间运行计算的开放式系统,那么它可能不适合您。
