包含独立模块的应用程序的SAM模板

时间:2019-01-24 17:07:44

标签: amazon-cloudformation aws-sam

我正在开发Web应用程序的后端。后端分为几个模块,例如订单,产品等。这些模块共享一些公共资源,例如DynamoDB表,SNS主题。 我希望能够独立部署模块。 这种情况下的最佳做法是什么? API网关是所有模块通用的还是每个模块都应该有自己的API网关? 感谢您的答复

1 个答案:

答案 0 :(得分:0)

我将从简单开始,将所有内容保留在单个SAM模板,单个API网关和单个存储库中。使用SAM / Cloudformation进行部署时,仅更新已修改的资源,因此没有开销。

以这种方式构建CD管道也更加容易。您只需提交并推送该模块的更改即可实现独立的模块部署。

一旦(如果)过度使用单个模板基础结构模型,使用Cloudformation的Outputs!ImportValue功能将资源分离为多个模板并交叉引用共享资源就不会太困难。同步依赖的部署可能很困难(即模块1中的功能A需要模块2中的功能B才能正常工作,反之亦然),但这又是一个问题。