当无服务器是一个坏主意时

简而言之,无服务器系统使您不必处理基础结构问题,例如存储和计算服务器配置或操作。

确实,许多人将无服务器称为“无操作”,但实际上是“减少操作”,或者我的朋友Mike Kavis喜欢说“无操作”。 显然,目标是提高简单性,并使构建和部署基于网络的全新基于云的无服务器应用程序更加高效和敏捷。

[开发人员指南: 无服务器计算:AWS,Google Cloud和Microsoft Azure 。 | 然后学习如何使用Microsoft的Azure功能以及如何使用AWS Lambda进行无服务器计算。 ]

但是,无服务器并不总是一个好主意。 的确,在很多时候这似乎是强制性的,导致比试验更多的错误。 当涉及到有状态应用程序时,无服务器是一个特别糟糕的主意。

无状态应用程序意味着每个事务的执行就像是第一次完成一样。 没有用于当前交易的先前存储的信息。 相反,有状态应用程序从一个会话的活动中保存客户端数据,以供另一个会话使用。 保存的数据通常称为应用程序状态。

有状态的应用程序非常适合无服务器。

为什么? 无服务器应用程序由运行时间短且无状态的服务集(例如功能)组成。 从传统意义上考虑它们是事务,因为它们被调用并且在执行后不维护任何内容。

考虑到无服务器系统评估功能,无服务器系统必须以这种方式进行应用程序开发和部署。 它仅分配运行该功能,对其进行处理所需的资源,然后系统将这些资源返回给共享池。

对于无服务器系统和无服务器开发人员而言,维护状态将更加复杂。 这样,应用程序被分为相互独立且松散耦合的干净运行的服务。

尽管在无服务器系统上构建和运行有状态的应用程序有很多技巧和黑客手段,但通常这不是一个好主意。 如果在无服务器开发和部署方面遇到任何故障,那是有状态的方形钉,试图卡在无服务器的圆孔中。 只是不合适。

From: https://www.infoworld.com/article/3403007/when-serverless-is-a-bad-idea.html

你可能感兴趣的:(当无服务器是一个坏主意时)