正在考虑无服务器计算?20 条专家建议(与警示)

正在考虑无服务器计算?20 条专家建议(与警示)

无服务器计算模式的支持者大力宣扬其在更精简、更具成本效益的应用开发和部署方面的潜力。开发者得以从服务器管理中解放出来,从而能够专注于编写代码、加快上市速度并简化扩展。

然而,很少有技术趋势是毫无复杂之处的,无服务器计算模式在带来优势的同时,也带来了独特的挑战。下面,20 位 Forbes Technology Council 成员为正在考虑采用无服务器计算模式的组织分享了重要的建议(与警示)。把这些关键建议记在心上,以确保你的团队能为组织做出明智的选择,并为收益和取舍两方面都做好准备。

1. 为性能问题做好准备

对于希望高效扩展的组织来说,投身于无服务器应用可能颇具吸引力。我的建议——或者更确切地说,是一条警示——是要理解其中涉及的取舍。无服务器架构可以降低运营成本并简化部署流程,但它也带来了与调试、监控以及因冷启动导致的潜在性能不稳定相关的挑战。 - Ken Ringdahl, Kantata

2. 警惕隐藏的人力成本

许多专家推荐无服务器,是因为它在几年前很流行。然而,它很少能成为大多数基础设施问题的答案。我见过一些无服务器的实施方案,最终产生的隐藏人力成本比单体架构还要高。要清楚你是从谁那里获得建议的,并让他们解释为什么应该选择无服务器而非单体架构。 - Federico Imparatta, ataraxy

3. 理解全面投入的必要性

在去中心化环境中运行的无服务器应用,对单点故障和审查等问题更具韧性,但只有当你的整个系统全面采用无服务器时,它才能真正发挥这些优势。就无服务器应用的相关特性而言,你的整个系统的好坏取决于其最薄弱的环节。 - Viktor Trón, Swarm

4. 估算并监控使用成本

虽然无服务器架构只需为所消耗的资源付费,但根据使用模式来估算成本至关重要,尤其是在应用扩展时。你应当监控使用情况(必要时发出告警),以避免意外的成本激增。我还建议采用云服务提供商提供的省钱策略,例如使用预留容量或优化代码以提升使用效率。 - Ilya Lashch, Lightpoint Global

5. 考虑你的应用是否契合无服务器的优势

我的建议是,在采用无服务器应用之前,要仔细考量你组织的具体需求和要求。重要的是评估你应用的特性是否契合无服务器的优势,例如无状态和事件驱动型的工作负载。此外,还要考虑供应商锁定和控制受限等潜在挑战。 - Robert Mao, ArcBlock Inc.

6. 审视工作负载与价格选项

正如那句熟悉的歌词所唱:“你随时都可以退房,但你永远无法离开。”我们正迅速迈入一个多云、多边缘的世界。你应当据此来架构你企业的 IT 和 OT,针对合适的工作负载、以合适的价格选用合适的无服务器云。如果你把企业押注在单一一朵云上,就等于让自己陷入被不利定价锁定的境地。 - Pete Bernard, EDGECELSIOR

7. 要知道某些 API 可能会超时

众所周知,事件驱动型的无服务器应用适用于微服务应用,而不适用于单体应用。但许多执行长时间运行 API 的微服务应用会失败——它们在某些公有云无服务器产品上会因为缺乏性能优化而超时。在转向无服务器之前,先测量你 API 的耗时。 - Preeti Shukla, JustFund

8. 为未来的迁移做好规划

在采用无服务器应用时,要监控并规划潜在的迁移挑战,以避免供应商锁定。从一开始就应着眼于探索混合方案和多样化的备份选项。 - Aditya Malik, ValueMatrix.ai

9. 根据你的独特需求审查无服务器提供商

全面评估无服务器提供商的可扩展性、安全性和成本结构。理解这些因素如何契合你的具体需求,尤其是在流量模式和数据管理方面。无服务器可以带来好处,但需要周密的规划,以避免意外的成本和限制。 - Rohit Anabheri, Sakesh Solutions LLC

11. 掌控谁可以访问你的代码

使用无服务器时,要格外注意保障安全。由于你的代码是分散的,安全风险更容易出现。确保只有合适的人才能访问你的代码,并定期检查是否存在任何安全问题。 - Margarita Simonova, ILoveMyQA

12. 考虑你产品的局限性和可扩展性

理解你产品的局限性。通常,简洁会带来更少的技术债,而这反过来又能造就灵活的应用。然后,把重点放在可扩展性上。要问:“采用无服务器,这能扩展吗?”当你深入微服务的世界时,你很可能最终会得到无数个相互支撑的服务器应用。 - WaiJe Coler, InfoTracer

13. 努力缓解冷启动

冷启动——即函数在首次调用时出现延迟——可能会影响无服务器应用的性能。通过优化函数初始化时间、减少依赖项以及实施预热策略(例如定时调用或预置并发)来缓解冷启动问题,从而确定最适合你工作负载的方案。 - Cristian Randieri, Intellisystem Technologies

14. 留意监控与调试复杂性的增加

要留意监控和调试复杂性可能增加的情况。虽然无服务器可以大幅减少基础设施管理,但它可能会遮蔽对性能问题的可见性。采用能够增强可观测性的工具和实践,以保持掌控,并确保应用的可靠性和效率。 - Ken Pomella, RevStar

15. 将无服务器应用设计为解耦且无状态

在采用无服务器应用时,要专注于将它们设计为解耦且无状态的,并优化代码效率。通过调整批量大小和记录处理方式,仔细调优对事件源的轮询,以提升吞吐量。利用 BatchSize 参数,并考虑配置一个批处理窗口来有效管理函数调用,从而在最大化效率的同时将开销降到最低。 - Anand Santhanam, Amazon Web Services

16. 考虑所需的规模和性能水平

对于考虑推出无服务器应用的组织来说,值得追问一下究竟需要怎样的规模和性能水平。即便无服务器既灵活又便宜,它仍可能与遗留系统不兼容,而且你可能不得不忍受供应商锁定和延迟问题。 - Jared Thau, Gameverse Interactive Corp.

17. 当心“隐形基础设施的错觉”

你当然应当因为无服务器的可扩展性和成本效益而采用它,但要当心“隐形基础设施的错觉”。你看到的越少,理解其底层运行机制对于安全、故障排查和优化就越发重要。这不是魔法,而是被托管的——要据此做好规划。 - Marc Rutzen, HelloData.ai

18. 考虑对 CI/CD 流水线的影响

考虑无服务器对你的持续集成和持续交付流水线的影响。确保你的部署实践能够适应无服务器计算的无状态特性。此外,无服务器可以降低初始的搭建成本,但务必仔细评估长期成本,因为大量使用可能会变得昂贵。 - Jo Debecker, Wipro

19. 思考你能在多长时间内不访问某些数据

在迁移到云环境时要谨慎。要留意诸如防范数据泄露、访问数据能力的中断以及访问权限管理等问题。关于中断,思考一下你能在多长时间内不需要访问某些数据。一天?一小时?确保你考虑到了迁移过程中出现的访问延迟。 - Jordan Yallen, MetaTope

20. 避免“函数蔓延”

警惕采用无服务器时可能伴随而来的“函数蔓延”。严格的治理和架构准则至关重要。整合相关的函数,并裁剪掉不必要的函数,以实现更精简、更易管理的架构。 - Andrew Blackman, EZ Cloud

← 所有文章