原文 | https://www.pulumi.com/blog/is_serverless_the_future_part_2/ 作者 | Lee Briggs & Piers Karsenbarg 译者 | donghui
在关于无服务器的第二篇文章中,我们将讨论一些更广泛的问题。再次强调,我们并不是要做硬性规定。我们想提出一些观点,以促进所有利益相关者之间的讨论。许多说所有应用程序都将是无服务器的应用程序的人并未大规模运行其应用程序,也未解决与延迟、复杂性和供应商锁定有关的所有问题。这就是我们在这里要谈论的。
供应商锁定怎么办?
你有多关心厂商锁定问题?例如:你很可能无法将 AWS 中的无服务器架构转移到另一个云提供商。有些组织不关心厂商锁定问题,但很多组织关心。如果你真的在乎,那么在你继续前进之前,请决定你应该在乎多少。
您的组织有多大?
无服务器对于较年轻的组织或较小的组织来说是一个很好的选择,也许大型组织中的新手团队直接关注于交付价值。一旦组织发展到足够大,可以支持专门管理基础设施的团队了,并且使用率增长了,可能就该重新评估情况了。成功采用无服务器平台的大型组织往往是经历了文化转变才获得成功。如果您还没有准备好在组织的所有级别上进行大量投资,以使无服务器的采用获得成功,那么使用更传统的方法(由专门的团队控制供应基础设施)可能更合适。 最后,正如在前一篇文章中所讨论的,大型企业可能想要考虑构建一个基础设施平台,在那里像 Kubernetes 这样的技术可以受益。
架构是什么样的呢?
需要考虑的一点是无服务器的产品和更"传统"的方法在思维方式上的显著差异,这意味着当切换平台时,应用程序可能经常需要重新设计。您可能需要考虑这些体系结构更改的 ROI 是什么。通常,从时间和财务的角度来看,任何应用程序的重新设计都是昂贵的,甚至会给最成功的工程团队带来问题。
无论您是在开发一个新开发的应用程序还是评估一个现有的应用程序,考虑无服务器应用程序的架构都是很重要的。传统的 N 层风格的体系结构或 N 层风格的 web 应用程序需要大量的投资才能迁移到无服务器的平台。
总结
总而言之,无服务器并不能解决所有问题,但是在正确的地方可以提供很多服务。请记住以下问题:
1. 您有多在乎供应商锁定?
无服务器架构不能简单地从一个云提供商迁移到另一家云提供商。您的组织在多大程度上关心供应商锁定?
2. 您的组织规模是多大?
无服务器通常更适合小型组织。一旦有了 IT 员工来支持它,您可能想看看更传统的选择。大型企业可能希望研究 Kubernetes。
3. 您是否比提供应用程序透明性更关心快速提供价值?
如果您希望尽快将应用程序推向市场,那么无服务器可能是一个不错的选择。但是,您将牺牲应用程序的指标和洞察力。随着规模的增长,这可能会导致真正的问题。
4. 您了解应用程序的属性吗?
通常说无服务器可以省钱,因为您只需为使用时间付费。但是,如果您的应用程序具有较长的响应或启动时间,请仔细观察。无服务器可能是一个昂贵的选择。
5. 您的应用程序的体系结构是什么样的?
不要期望传统的端层风格的体系结构能够很好地与无服务器的应用程序配合使用。寻找可以分解成更小的组件一起工作的应用程序。另一方面,将无服务器应用程序迁移到您控制的服务器也需要重新构建应用程序。你有时间和人去做吗?
6. 无服务器是绕过 IT 的一种方法吗?
使用无服务器作为绕过 IT 部门的方法可能不是最好的主意。编写不合规且容易受到攻击的代码太容易了。相反,请使用 DevOps 方法并与所有利益相关者会面以提出解决方案。
7. 安全性如何?
无服务器架构的安全性存在问题。云提供商提供了一些现成的选项,例如 Amazon GuardDuty,但是它们可能有很多限制,限制了无服务器提供的灵活性。实现安全的无服务器应用程序需要大量的思考。