AWS 单页应用程序和微服务使用案例



我正在构建一个基本的 crud Web 应用程序,我想将其部署到 AWS。我只在高处阅读了许多服务,但在我实施任何东西之前,我想知道以下计划是否可行并且至少有些有效:

  1. 将 (React( 单页应用程序的静态内容部署到 S3 存储桶。我的计划是使用 S3 存储桶以自定义域名提供此静态内容。
  2. 使用 API 网关和 Lambda 部署 API(执行 crud 操作(。此 API 将与 DynamoDB 交互以进行存储。此 API 预计仅由我的单页应用程序使用,因此我的假设是我可以保护它并使其"非公开"。

我的理解是,以上是 aws 相对经济高效的架构(尽管我希望保留在免费层中(。

我的计划中有什么重大漏洞或我忽略了什么?我知道我可以选择一百万种方法来做到这一点,包括 Elastic Beanstalk,但我希望能就任何不同的方式实现这一目标提供任何建议,以及对我可以做出的权衡的任何见解。

这通常是 AWS 中无服务器架构的工作方式。可以使用许多其他服务(通常是 Cognito、CloudFront、Step Functions(和特定于单个用例的架构。

以下两份 AWS 白皮书是无服务器架构的良好开端和概述:

  • 无服务器应用程序镜头
  • 使用 AWS Lambda 的无服务器架构 - 概述和最佳实践

根据您的描述,无服务器方式似乎是最合适的。但是,有一些事情需要考虑,您的描述有很多细节。一般需要注意的事项是:

  • Lambda 函数最多只能执行15 分钟,RAM 和本地存储有限。如果您希望您的应用程序执行一些繁重的工作(例如图像处理(,lambda 可能是错误的选择。

  • 无服务器体系结构使你能够有限地控制底层操作系统。同样,根据你的应用将要执行的操作,可能需要使用一些可以让你完全控制底层环境的东西。

  • 测试和调试可能具有挑战性,尤其是您的无服务器架构增长。然后必须使用新的服务,例如X射线。

相关内容

最新更新