What's changed: Initial version
6.4Configuration management tools (Ansible, Terraform, Puppet/Chef)
Covers the idea of Infrastructure as Code (IaC) managing configuration as code; the meaning of idempotency; Ansible, which is agentless, works over SSH, is push-based, and is written in YAML; Terraform, which builds infrastructure declaratively; and the positioning of the agent-resident, pull-based Puppet/Chef—all as tool-selection judgment.
Beyond replacing manual CLI with scripts lies the world of configuration management: "declare the desired configuration state as code and have a tool realize it." Turning configuration into code enables version control, review, and reproducibility—this is called Infrastructure as Code (IaC). This section organizes how the representative tools tested on CCNA—Ansible, Terraform, Puppet, and Chef—differ in "agent needed or not," "push or pull," and "description language," building tool-selection judgment according to requirements.
6.4.1IaC and idempotency
- Infrastructure as Code (IaC) is the idea of writing and managing server and network configuration as code (text files) rather than by hand. It can be version-controlled with Git, making change review, restoration to a past state, and environment reproduction easy.
- Idempotency is the property that applying the same configuration code any number of times yields the same result. If the desired state already holds, nothing is changed and only the differing parts are fixed, so repeated runs are safe. It is a key property a configuration management tool should have.
- Declarative vs. procedural: describing "what the end state should be" is declarative, while describing "what steps to take, in order" is procedural. Declarative descriptions pair well with idempotency.
Continue reading — free sign-up
You're reading the free preview. Sign up free to read this section in full, plus every chapter (including 4+) and all questions.

