首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS是否每提交一次进行整个重建?

AWS是否每提交一次进行整个重建?
EN

Stack Overflow用户
提问于 2018-05-13 13:58:47
回答 1查看 410关注 0票数 1

我正在构建一个在AWS中的分布式应用程序,包括基本资源(iam等)、数据仓库,但大多数是无服务器资源,如lambdas、sns、mongodb、.

为了在OTAP上部署这一点,我正在研究用于此的AWS工具,主要是概述这里

这意味着CodeCommit中的1 repo将触发CodePipeline,这将使这些组件位于正确的位置(实现订单控制):

  • 部署CF堆栈
  • 使用CodeBuild包()->为每个sam资源打包一个SAM资源
  • 使用构建步骤为每个SAM资源创建一个变更集->
  • 使用构建步骤执行更改集->,每个更改集执行一个更改集。

因此,作为一个示例,我将需要为该lambda的.js文件旁边的每个lambda提供一个.js,并且还需要在SAM模板(它自己的或分组的)中构造lambda。另外,每个步骤都有一个构建更改集步骤和执行更改集步骤。

我的问题:,如果在这个设置中,对于整个分布式应用程序进行1次回购,我会改变一个小傻瓜,就像许多蓝精灵中的一个一样,这会重新部署应用程序的所有元素吗?

如果没有,谢天谢地,但它是如何工作的?CodeCommit将所有源的完整压缩发送到S3,而不仅仅是更改。因此,所有元素都将被触发,并且在堆栈(CF或SAM)的部署过程中,底层技术可能是智能的,并且只做需要更改的事情。但是,CodePipeline中的所有元素(还有很多)都将被触发,如果目标是尽可能快地完成整个部署,这是效率低下的。

如果是的话,,好吧,这会很糟糕,然后我会在管道中找到另一个解决方案,使用定制代码(Lambda),只从CodeCommit API中提取更改,然后执行change和CodeCommit。使用aws的主要缺点是订单控制,而有些东西,如“”,在sdk中是不可用的。

EN

回答 1

Stack Overflow用户

发布于 2018-06-03 09:17:26

@TimR如果您有10种资源,如果不需要的话,您不希望在P中重建/重新部署它们。这太糟糕了。每个资源都需要最大的正常运行时间。

为了回答我自己的问题,当使用codePipeline或其他方法部署更改时,它将检查整个模板的不同之处,并取决于资源类型以及重新部署该资源的更改。只检查未更改的资源,但大部分资源未被更改。所以,这是好的,唯一的好处是,整个CodePipeline中的所有操作都会被触发,除了CP是异步的,因此也会缓慢退出。一个中等大小的一个需要10分钟左右的小改变。现在假设每30分钟有10-20个开发人员提交一次。

然而,SAM/Lambdas在AWS中有一个bug。在使用lambda代码的MD5计算时,它检查是否更新/重新部署Lambda。该算法考虑了文件属性(如上次更改等),从而得出所有lambdas都发生了更改的结论,这是愚蠢的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50316886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档