Hello! In our last lesson, we explored JSON, the standard data format for modern network APIs. This equipped you to understand the content of API communications. Now, we'll conclude our journey into automation by looking at the high-level tools that orchestrate these communications at scale.
This final lesson addresses the last topic in our custom curriculum: configuration management. We will identify the core concepts and roles of three major tools in this space: Puppet, Chef, and Ansible. You are not expected to become a programmer, but to understand their fundamental differences in architecture and approach. This knowledge is crucial for grasping modern network operations and aligns with the automation principles tested in the CCNA exam.
The "Why": Solving Configuration Drift and Scaling Operations
As networks grow, managing devices one by one via the CLI becomes inefficient and prone to error. Over time, small, undocumented changes can lead to configuration drift, where a device's live configuration no longer matches the intended, standard design. This creates inconsistencies and potential security vulnerabilities.
Configuration management tools were designed to solve these problems by enabling Infrastructure as Code (IaC)—the practice of managing and provisioning infrastructure through machine-readable definition files, rather than manual processes.
The following video introduces the problems that configuration management tools solve and how they use templates and variables, building upon our previous discussion of structured data.
Free CCNA | Ansible, Puppet, & Chef | Day 63 (part 1) | CCNA 200-301 Complete Course
This video from Jeremy's IT Lab sets the stage by explaining why configuration management is essential in modern networking.
Please watch the introductory segment to understand the concepts of configuration drift and how it's managed, and then the section on configuration provisioning using templates and variables.
The Language of Automation: Core Concepts
Before we compare the tools, it's essential to understand the vocabulary used to describe them. These concepts define the fundamental architectural choices that differentiate Ansible, Puppet, and Chef.
This article from the AlphaPrep blog provides a clear, concise breakdown of the foundational concepts of automation.
Please read the section titled "2. Core concepts you need first". Focus on understanding the definitions for each of the following terms: Infrastructure as Code (IaC) Configuration management Idempotency Desired state Push vs. pull Agentless vs. agent-based
To summarize the key distinctions:
- Model: Is the tool focused on executing a sequence of tasks (procedural/imperative) or ensuring a final state is met (declarative)?
- Communication: Does a central server push changes out to devices, or do devices pull their configurations from a server?
- Architecture: Does the tool require software (agent) to be installed on managed devices, or does it communicate using standard protocols like SSH (agentless)?
These characteristics are the primary means of comparing and contrasting configuration management platforms.
The "Big Three": Ansible, Puppet, and Chef
Now, let's look at how these concepts apply to each of the three main tools you need to know for the CCNA.
Ansible: The Network-Friendly Choice
Ansible has become extremely popular for network automation, largely due to its architecture.
- Architecture: Agentless
- Model: Push
- Language: YAML for "Playbooks"
- Communication: Uses SSH or NETCONF, protocols already available on most network devices.
Its agentless nature is a key advantage in networking, as installing third-party software on routers and switches is often not feasible or desirable. The push model allows an administrator to initiate changes on demand, which aligns well with network maintenance windows.
Free CCNA | Ansible, Puppet, & Chef | Day 63 (part 1) | CCNA 200-301 Complete Course
Let's return to Jeremy's IT Lab for a breakdown of Ansible's characteristics.
Watch this segment for a summary of Ansible's features, paying close attention to why its agentless, push-based model is so suitable for network devices.
Puppet and Chef: The Desired State Champions
Puppet and Chef share many architectural similarities and have historically been dominant in the server and systems administration world (e.g., managing fleets of Linux or Windows servers).
Puppet:
- Architecture: Primarily agent-based
- Model: Pull
- Language: Puppet DSL (Domain-Specific Language) for "Manifests"
- Communication: A "Puppet Agent" on the device communicates with a "Puppet Master" server, typically over TCP port 8140.
Chef:
- Architecture: Agent-based
- Model: Pull
- Language: Ruby DSL for "Recipes" and "Cookbooks"
- Communication: A "Chef Client" on the device communicates with a "Chef Server", typically involving TCP port 10002.
Both tools operate on a pull model where agents periodically check in with a central server to see if their current configuration matches the "desired state" defined by the administrator. If there's a mismatch (configuration drift), the agent pulls and applies the correct configuration to bring the device back into compliance.
Free CCNA | Ansible, Puppet, & Chef | Day 63 (part 1) | CCNA 200-301 Complete Course
This video also provides concise overviews of Puppet and Chef. Notice the similarities in their models.
First, watch the section on Puppet, focusing on the master/agent relationship and pull model. Then, watch the overview of Chef, noting its similar agent-based approach.
Comparison and CCNA Context
For the exam and real-world network automation, the key is to know when and why you would consider one tool over another. The choice is often dictated by the target system (server vs. network device) and the operational goal (ad-hoc change vs. continuous enforcement).

The table above gives a quick summary. For a more detailed comparison tailored to the CCNA, the AlphaPrep article is an excellent resource.
This article puts the tools in context, explaining their relevance in a Cisco environment.
First, study the comparison table and the summary paragraph that follows. Note the columns for "Direct Cisco device fit" and "CCNA relevance". Then, read the next section, "How these tools apply in Cisco environments", to understand the most common use cases.
In short, if a scenario involves pushing a configuration change to a group of Cisco switches without installing new software on them, Ansible is the answer. If the scenario describes continuously enforcing a baseline configuration on a fleet of servers via periodic check-ins, Puppet or Chef is the more likely model.
Conclusion
This lesson completes our module on SDN and Automation, and with it, all the topics we set out to add to your CCNA studies. We have moved from the foundational principles of APIs and data formats like JSON to the high-level configuration management tools that use them.
Key Takeaways:
- Configuration management tools like Ansible, Puppet, and Chef automate infrastructure management, prevent configuration drift, and enable Infrastructure as Code (IaC).
- Ansible is agentless and uses a push model, typically over SSH. This makes it the most common and practical choice for automating network devices. Its configuration files are called Playbooks (YAML).
- Puppet and Chef are primarily agent-based and use a pull model. They excel at maintaining a "desired state" on systems (mostly servers) where an agent can be installed. They use their own DSLs for configuration files called Manifests (Puppet) and Recipes/Cookbooks (Chef).
- For the CCNA, you should be able to identify these core characteristics and understand why Ansible's architecture gives it an advantage in typical network environments.
Congratulations on completing this course! You have built upon your existing network engineering knowledge by exploring critical modern topics, including advanced IPv6, wireless LANs, QoS, and the essentials of network automation. This well-rounded understanding will be invaluable not only for your certification goals but also for your future career in an increasingly automated industry. Well done.