No discussion of network automation would be complete without evaluating the role that automation tools—tools like Ansible, Chef, Puppet, StackStorm, and Salt—play in a network automation context.
Traditionally, these tools have been more focused on the server automation use case. This was an understandable focus given that most, if not all, of these tools had their origins in automating server operating systems and managing operating system (OS) and/or application configuration. In recent years, though, there has been a great deal of effort by a number of companies to enhance the network automation functionality of their products. These enhancements make these products much more useful and powerful in a network automation use case.
In this chapter, we’ll discuss how to use some major automation tools for network automation. The tools we’ll cover in this chapter are:
Before we get into the details and examples of how to use these tools for network automation, let’s first take a quick look at an overview of the various tools we’re going to discuss.
While all of these tools are focused on automation, each tool has its own architecture and approaches automation in a slightly different way. This gives each tool its own set of strengths and weaknesses. In this section, we’d like to quickly review each of the tools so that you can begin to see how these tools might be used in their environment.