Amazon web services 如果所有架构组件都是AWS特定的产品,那么选择Terraform而不是AWS CloudFormation的正当理由是什么?
在一个所有组件都使用aws特定产品的架构中,比如EC2实例中的web服务器、使用CloudFront的CDN、ECS中的微服务,为什么会有人选择使用Terraform?这通常是非常个性化的选择。有一些方面(不是真正的优点和缺点,只是需要回答的要点):Amazon web services 如果所有架构组件都是AWS特定的产品,那么选择Terraform而不是AWS CloudFormation的正当理由是什么?,amazon-web-services,amazon-cloudformation,terraform,Amazon Web Services,Amazon Cloudformation,Terraform,在一个所有组件都使用aws特定产品的架构中,比如EC2实例中的web服务器、使用CloudFront的CDN、ECS中的微服务,为什么会有人选择使用Terraform?这通常是非常个性化的选择。有一些方面(不是真正的优点和缺点,只是需要回答的要点): 你要完全面向AWS吗?如果是,当然可以同时使用这两种工具,但如果不是,您可能无论如何(如果不是现在,那么将来)都需要一些额外的工具,因此在这种情况下,Terraform可以涵盖这两种情况 你已经知道地形了吗?如果不是,那么学习其中任何一个都可能是
- 你要完全面向AWS吗?如果是,当然可以同时使用这两种工具,但如果不是,您可能无论如何(如果不是现在,那么将来)都需要一些额外的工具,因此在这种情况下,Terraform可以涵盖这两种情况
- 你已经知道地形了吗?如果不是,那么学习其中任何一个都可能是同样的挑战,但是如果你从其他项目中了解Terraform,你就可以开始使用它。这也适用于你的招聘策略——你要找的是只懂AWS的人(很可能也是CloudFormation),还是一般来说有一些系统/开发运营经验的人,那么Terraform是一个常用的工具
- 还有一点很重要——CloudFormation无法处理现有资源(Terraform通常可以,通过
导入
,但也有例外)。这意味着你可以从云层迁移到地形(做了几次,事实上没什么大不了的),但不能迁移到oposite
另外,如果您打算完全面向AWS,CloudFormation可以很好地与更多服务配合使用:CodePipeline与之集成,如果是CI/CD pipeline,CloudFormation是一个完全受管理的服务(它保留状态、公开导出值等),在Terraform的情况下,您需要为状态存储和公开输出提供自己的基础设施(您可以使用AWS中的S3 bucket,但仍然需要配置Terraform来使用它-在这种情况下,CloudFormation是零配置)。从11月19日起,您可以导入CloudFormation中的现有资源。文档:博客帖子: