为什么要在无服务器Python应用中使用Zappa/Chalice



我是Python的新手,认为我的第一个Python项目在AWS基础架构上运行会很棒。鉴于我以前的node.js经验lambdas,我认为每个功能都会具有自己的代码,并且该应用仅由持久层粘合在一起,其他所有内容都被解耦。

在Python lambdas中,有无服务器的小框架(例如Chalice或Zappa(似乎是一种公认的练习。对我来说,尽管感觉他们正在围绕无服务器方法的概念攻击。您仍然可以在烧瓶,甚至是django上都有一个成熟的应用程序,并且该应用程序是通过lambda提供的。仍然有一个应用程序具有所有路由,配置,样板代码等,而不是仅能完成其工作的小型独立功能。我目前看不到如何以及是否更容易。

  • 通过Lambdas而不是单个功能,拥有整个代码库的好处/原因是什么?
  • 如果使用烧瓶/django/其他任何用服务器应用程序,是否会罚款?
  • 如果这取决于特定项目,则使用框架的指导是什么?
  1. 好处。您可以使用已知概念,并在无服务器中采用它。
  2. 性能。较小的代码是所需的RAM越少。它必须加载,处理,等等。只是处理单个请求?对我来说总是太多了。
  3. 假设您有Diango Project,它正在用于弹性豆stalk,您需要一些LAMDA来处理有限的问题。现在。您想拥有两个单独的配置吗?那普通功能呢?

无服务器看起来不错,但是...假设您拥有权限,所以您的应用程序,每个呼叫都会吸引这些东西。也许您将其缓存 - 在Redis中,作为用户的孔权限...其他选项是DynamoDB,它更昂贵。是的,有一个不错的SLA,但是API非常奇怪,而且如果您打算在此处保留更多数据……您的工作速度越多,则以同样的钱为单位。换句话说 - 如果您输入更多数据,则获取成本会更高 - 如果您想要相同的速度。

最新更新