The Python Automation Framework – Ansible Basics

The previous two chapters incrementally introduced different ways to interact with network devices. In Chapter 2, Low-Level Network Device Interactions, we discussed Pexpect and Paramiko libraries that manage an interactive session to control the interactions. In Chapter 3, APIs and Intent-Driven Networking, we started to think of our network in terms of API and intent. We looked at various APIs that contain a well-defined command structure and provide a structured way of getting feedback from the device. As we moved from Chapter 2, Low-Level Network Device Interactions, to Chapter 3, APIs and Intent-Driven Networking, we began to think about our intent for the network and gradually expressed our network in terms of code. 

Let's expand upon the idea of translating our intention into network requirements. If you have worked on network designs, chances are the most challenging part of the process is not the different pieces of network equipment, but rather qualifying and translating business requirements into the actual network design. Your network design needs to solve business problems. For example, you might be working within a larger infrastructure team that needs to accommodate a thriving online e-commerce site that experiences slow site response times during peak hours. How do you determine if the network is the problem? If the slow response on the website was indeed due to network congestion, which part of the network should you upgrade? Can the rest of the system take advantage of the bigger speed and feed? The following diagram is an illustration of a simple process of the steps that we might go through when trying to translate our business requirements into a network design:

Business logic to network deployment

In my opinion, network automation is not just about faster configuration. It should also be about solving business problems, and accurately and reliably translating our intention into device behavior. These are the goals that we should keep in mind as we march on the network automation journey. In this chapter, we will start to look at a Python-based framework called Ansible that allows us to declare our intention for the network and abstract even more from the API and CLI.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.48.120