AWS 上的无服务器架构实施

server less architecture implementation on AWS

我正在浏览 AWS 上的无服务器架构文档和一些视频。

我知道我们可以使用 API 网关、Lambda、DynamoDB 实现无服务器,并将我们的前端放在 S3 存储桶上。

我对它在遗留 EC2 实例上的工作原理有一个简单的了解。
带有 reactjs.

的 .net 应用程序示例

例如,我们安装所有依赖项,如 .net sdk react ..ect 然后我们将源代码文件放在实例中,运行 相应的执行文件。 (对于 .net 它将是 .dll 文件)

现在的问题是: 这如何在无服务器上实现?

.dll 文件应该放在哪里?

所有依赖项应该安装在哪里?

建筑的外观如何?

这实际上取决于您的应用程序,S3 将仅提供静态 HTML,因此这完全取决于您的应用程序是否可以 运行 来自静态 HTML 文件的前端。

对于其中的动态部分,您将使用 API 网关(调用 Lambda 函数)来执行任何后端调用。这些将允许您的应用程序习惯的标准流程,但如果您的应用程序在前端和后端之间严重纠结,则需要大量重写。

Lambda 当前 only supports .Net Core so if you're using a legacy version I am not sure you'll be able to run this as a Lambda (you can use Lambda Layers 构建对受支持语言的支持,但据我所知,.Net 只能安装在 Windows)。

如果您真的希望 运行 您的应用程序在无服务器上不需要进行重大重写,我建议您考虑将您的应用程序迁移到 运行 作为容器,然后 运行 它使用 Fargate.

然后一旦启动并且 运行ning 启动 migrating/rewriting 后端以在 Lambda 上工作,您最终将能够将前端移至 S3,因为它与后端分离。