Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services CloudFormation部署是否应该通过CI/CD完成?_Amazon Web Services_Continuous Integration_Amazon Cloudformation - Fatal编程技术网

Amazon web services CloudFormation部署是否应该通过CI/CD完成?

Amazon web services CloudFormation部署是否应该通过CI/CD完成?,amazon-web-services,continuous-integration,amazon-cloudformation,Amazon Web Services,Continuous Integration,Amazon Cloudformation,通过CI/CD部署CloudFormation是否是一种好的做法?我目前正在考虑安全和性能方面的问题 例如,如果有人意外删除了一个DB,CloudFormation只会删除它。。。可能会有代码审查来防止这种情况。。。但我只是想知道这是否是一个好的做法 使用无服务器应用程序可能没有选择?与其他方式一样,它太过手动,无法部署所有内容 另一个观察是性能,CloudFormation很少改变,但如果它是CI/CD进程的一部分,则无论如何都需要运行它。有没有办法加快速度 绝对是。如果您将基础架构视为软件I

通过CI/CD部署CloudFormation是否是一种好的做法?我目前正在考虑安全和性能方面的问题

例如,如果有人意外删除了一个DB,CloudFormation只会删除它。。。可能会有代码审查来防止这种情况。。。但我只是想知道这是否是一个好的做法

使用无服务器应用程序可能没有选择?与其他方式一样,它太过手动,无法部署所有内容


另一个观察是性能,CloudFormation很少改变,但如果它是CI/CD进程的一部分,则无论如何都需要运行它。有没有办法加快速度

绝对是。如果您将基础架构视为软件IaS,那么您应该能够在Cloudformation模板上实施现代CI/CD软件实践,如语法检查、单元测试、功能测试、验证、自动测试和部署等

AWS在这里提供了最佳实践解决方案:

该解决方案提供了以下介绍:

> 许多Amazon Web Services AWS客户使用AWS CloudFormation以代码的形式管理其基础设施,并以可控和可预测的方式帮助部署AWS资源。DevOps团队通常负责在发布之前验证AWS CloudFormation模板,以确保它们遵循行业最佳实践并满足公司特定的业务和治理要求。这些团队通常利用AWS开发者工具,这是一组服务,旨在帮助DevOps专业人员遵循持续集成和持续交付CI/CD实践,并创建自己的管道来自动构建、验证和部署代码


当然可以。如果您将基础架构视为软件IaS,那么您应该能够在Cloudformation模板上实施现代CI/CD软件实践,如语法检查、单元测试、功能测试、验证、自动测试和部署等

AWS在这里提供了最佳实践解决方案:

该解决方案提供了以下介绍:

> 许多Amazon Web Services AWS客户使用AWS CloudFormation以代码的形式管理其基础设施,并以可控和可预测的方式帮助部署AWS资源。DevOps团队通常负责在发布之前验证AWS CloudFormation模板,以确保它们遵循行业最佳实践并满足公司特定的业务和治理要求。这些团队通常利用AWS开发者工具,这是一组服务,旨在帮助DevOps专业人员遵循持续集成和持续交付CI/CD实践,并创建自己的管道来自动构建、验证和部署代码

当然

只有这样才能实现真正意义上的CI/CD。 考虑一个场景,对于特定的发布,您添加了消息队列AWS SQL。现在,如果您没有将Cloudformation与CI/CD集成,那么从SQS读取/写入的代码将进入您的环境,但这两种操作都将失败,原因很简单,即SQS不存在,因为您的Cloudformation更改(可能会创建SQS)没有执行。所以,最终你会有一个半生不熟的环境

为了避免这个陷阱,强烈建议您将cloudformation作为CI/CD的一部分执行

考虑到您的担忧“例如,如果有人意外删除了一个DB,CloudFormation只会删除它”,即使在实际代码中也可能发生这种情况。例如,开发人员输入了一些测试代码来清理数据库,但忘记删除这些代码,这些代码将在生产环境中执行。但理想情况下,这不会发生,因为有手动测试、自动测试和JUnits的保护。因此,在类似的上下文中,将Cloudformation视为任何其他代码事实上,Cloudformation最好被描述为作为代码的基础设施,应该进行彻底的测试。要查看单元测试的详细信息,请参见

只有这样才能实现真正意义上的CI/CD。 考虑一个场景,对于特定的发布,您添加了消息队列AWS SQL。现在,如果您没有将Cloudformation与CI/CD集成,那么从SQS读取/写入的代码将进入您的环境,但这两种操作都将失败,原因很简单,即SQS不存在,因为您的Cloudformation更改(可能会创建SQS)没有执行。所以,最终你会有一个半生不熟的环境

为了避免这个陷阱,强烈建议您将cloudformation作为CI/CD的一部分执行

考虑到您的担忧“例如,如果有人意外删除了一个DB,CloudFormation只会删除它”,即使在实际代码中也可能发生这种情况。例如,开发人员输入了一些测试代码来清理数据库,但忘记删除该代码,该代码将在producti中执行 关于环境。但理想情况下,这不会发生,因为有手动测试、自动测试和JUnits的保护。因此,在类似的上下文中,将Cloudformation视为任何其他代码事实上,Cloudformation最好被描述为作为代码的基础设施,应该进行彻底的测试。要查看单元测试的详细信息,请参阅