Skip to content

Instantly share code, notes, and snippets.

@natthasath
Created July 3, 2024 02:46
Show Gist options
  • Save natthasath/94103a811a98dd7681c6be7615fa04a3 to your computer and use it in GitHub Desktop.
Save natthasath/94103a811a98dd7681c6be7615fa04a3 to your computer and use it in GitHub Desktop.
infrastructure-as-code.md
Feature Puppet Chef SaltStack Ansible Terraform
Language Puppet DSL Ruby DSL Python YAML (Playbooks) HashiCorp Configuration Language (HCL)
Configuration Style Declarative Imperative Both Declarative Declarative
Primary Use Configuration Management Configuration Management Configuration Management Configuration Management Infrastructure Provisioning
Ease of Learning Moderate Moderate to Hard Moderate Easy to Moderate Easy to Moderate
Agent Requirement Agent-based Agent-based Agent and Agentless Agentless Agentless
State Management Yes Yes Yes No Yes
Orchestration Basic Strong Strong Strong Limited
Community & Support Large Community, Commercial Support Large Community, Commercial Support Large Community, Commercial Support Large Community, Commercial Support Large Community, Commercial Support
Integration Extensive Extensive Extensive Extensive Extensive
Scalability High High High High High
Performance Moderate Moderate High High High
Error Handling Limited Strong Strong Moderate Strong
Idempotency Yes Yes Yes Yes Yes
Versioning Limited Limited Limited Limited Strong
Cloud Compatibility AWS, Azure, GCP, OpenStack, etc. AWS, Azure, GCP, OpenStack, etc. AWS, Azure, GCP, OpenStack, etc. AWS, Azure, GCP, OpenStack, etc. AWS, Azure, GCP, OpenStack, etc.
Documentation Extensive Extensive Extensive Extensive Extensive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment