Chapter 9. Puppet

In the previous chapter, we looked at two tools, ZTP and Netconify, which are focused on the initial provisioning of a Junos device. However, neither of these tools is appropriate for the provisioning of new customer-facing network services. This chapter introduces Puppet, the first of two tools that can be used to automate the provisioning of new customer-facing network services quickly, efficiently, and predictably even as the network scales to thousands of devices and millions of users. The other tool, Ansible, is covered in Chapter 10.

Puppet and Ansible are IT frameworks born out of the DevOps approach to software development and IT operations. Puppet is based on Ruby, while Ansible is based on Python. These tools began by focusing on automating aspects of the computing infrastructure, while the network infrastructure lagged behind using manual provisioning processes; however, it has recently become possible to use these tools to automate network provisioning. By building on the PyEZ framework and the NETCONF Ruby gem, Juniper has now created modules for these IT frameworks that extend the DevOps approach to network provisioning.

Puppet is an IT framework developed by Puppet Labs and comes in two flavors: Puppet Enterprise and Open Source Puppet.1 Puppet allows an operator to automate the management of a set of nodes that make up the IT infrastructure. The operator defines the desired state of the IT infrastructure using a simple declarative language. The Puppet ...

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.