Techyou labs
真正的爱应该超越生命的长度,心灵的宽度,灵魂的深度
常用标签
您正在查看:标签 puppet 下的文章
相同点:
  • 代码即基础设置,均采用DSL
  • 都可用于状态管理,版本管理
  • 都可以通过插件实现全覆盖

    不同点:
  • Terraform偏重于不可变环境,如docker,vm(镜像部署模式,read only),Ansible/Saltstack/Puppet偏重于可变环境(如传统部署模式,状态幂等)
  • 前者偏重于任务编排管理(如扩容缩容),后者偏重于配置管理(节点版本变更)
  • 前者记录变更历史和结果,后者侧重于当前状态,无历史跟踪

1_bVC97LGrOY4R5E4WwzMLzw.png
因此使用何种工具取决于你业务中的场景,主要有以下四点:

  • Configuration Management vs Orchestration
  • Mutable Infrastructure vs Immutable Infrastructure
  • Procedural vs Declarative
  • Client/Server Architecture vs Client-Only Architecture

ref:

  1. https://blog.gruntwork.io/why-we-use-terraform-and-not-chef-puppet-ansible-saltstack-or-cloudformation-7989dad2865c
  2. https://blog.gruntwork.io/a-comprehensive-guide-to-terraform-b3d32832baca
  3. https://www.itculate.io/2017/02/ansible-vs-terraform-vs-salt/
  4. https://selleo.com/blog/terraform-vs-ansible