Configuration Management Tools – Ansible, Chef, Puppet

Now, we’ll discuss the most usually utilized management tools to simplify network configuration management tasks which are Ansible, Chef, and Puppet.

 

Ansible

It is an automation platform that is capable of deployment of applications, configuration and monitoring management, security management, and automating cloud provisioning and deployment. It works with python programming language and YAML data format. Ansible is an agentless tool, which means there is no software or agent that needs to be installed on the client machines. Being agentless allows the user to push configuration to one of the network devices on the network.

Ansible uses SSH as a remote communication protocol, and it can support Windows Remote Management as well. It uses push models to get the configurations from network devices. Push model means no agent software on the nodes. We can manage any device by using Ansible. Since it is agentless, any device can be an Ansible Controller on the network.

NOTE
The configuration files of Ansible, which are written in YAML format, are called Playbook.

 

Chef

It is an open-source configuration management tool that is designed for compliance automation, configuration automation, and management of networks and servers. An agent is required to be installed on network devices that the Chef is managing. Chef’s client pulls configurations from the server, and those configurations are in Ruby DSL (Domain Specific Language). Ruby is the programming/configuration language used in Chef. The Chef Server is the device that manages all the nodes on the network, while Chef Client is the node that the chef server is managing.

NOTE
The collection of codes or files in Chef is called Cookbook. Recipe is the code being deployed on making configuration changes, and Chef Workstation is where users interact with the management tools for network configuration and create codes/instructions.

 

Puppet

Puppet, on the other hand, typically uses an agent-based architecture (same as Chef) for managing the network. The tool capabilities also support both agent and agentless architecture. When using agentless architecture, the external agent should be placed in between the node and the controller (Puppet Master), and the external agent will use SSH to communicate with the node (network device). The Puppet Master machine is the device that manages all the nodes on the network, while Puppet Agent is the node that the chef server is managing. Puppet’s client pulls configurations from the server, and those configurations are in Puppet DSL.

NOTE
The collection of codes or files in Puppet is called Module. Manifest is the code being deployed on making configuration changes, and Puppet Console is where users interact with a configuration management tool to create a block of code or instruction.

 

Network Configuration Management Tools Architecture

The following image below shows the architecture of the management tools for network configuration.

chef puppet


Download our Free CCNA Study Guide PDF for complete notes on all the CCNA 200-301 exam topics in one book.

We recommend the Cisco CCNA Gold Bootcamp as your main CCNA training course. It’s the highest rated Cisco course online with an average rating of 4.8 from over 30,000 public reviews and is the gold standard in CCNA training: