Chapter 10. Ansible

This chapter describes Ansible, another IT automation framework. While the end goal of both Puppet and Ansible is similar, Ansible takes a different approach to achieving this end goal. Whereas Puppet requires agent software to be installed on the managed node, Ansible uses an “agentless” architecture that does not require any Ansible-specific software to be installed on the managed node. Next, Puppet typically utilizes a “pull” model where managed nodes periodically fetch the latest state information from a server, but Ansible typically uses a “push” model where this state information is sent from the server to the managed nodes on demand. Finally, Puppet is written in Ruby while Ansible is written in Python.

Like Puppet, Ansible was originally focused more on automating aspects of the computing infrastructure, but now supports automating the network infrastructure as well. Juniper Networks publishes a collection of Ansible for Junos modules that simplify the execution of specific operational and configuration tasks on Junos devices. Before we look at these Ansible for Junos modules, let’s explore the overall architecture of Ansible in more detail.

Architecture and Communication

Like Puppet, Ansible comes in two flavors. The base version of Ansible is sometimes referred to as “Ansible Core.” Ansible Core is both free and open source. On the other hand, Ansible Tower is a commercial application. Ansible Tower includes Ansible Core and adds a visual dashboard, role-based ...

Get Automating Junos Administration now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.