Chapter 4 Where to Start with Network Automation?
For diagrams, tables, or exact code formatting, .
Chapter 4 Where to Start with Network Automation? "Start by doing what's necessary; then do what's possible; and suddenly you are doing the impossible." - Francis of Assisi There may be immediate needs for an automated solution and while it may be tempting to jump right into making automated changes to the network, it is strongly recommended to begin with information gathering. Spend time breaking down the network into the building blocks of enterprise design and logical functions. For example: Enterprise lab network.
o Core. o Distribution. o Access. Enterprise campus network.
o Core. o Distribution. o Access. Enterprise data center. Enterprise WAN. Enterprise DMZ / Public Access Zone (PAZ). Public and private clouds. To select the required Ansible modules, and to identify differences in configuration syntax, further break down the network into hardware platforms and software versions. Code differences exist between platforms for the same commands or configurations. Now that configurations are being automated, with a goal of idempotency, coding for the sometimes-subtle differences in running-configurations across the various platforms and software version in the enterprise is a necessity. The more standardized the platforms across the network, the more uniform the code becomes. Here is an example of a network hardware audit:
IOS – Catalyst 6500. IOS – Catalyst 4500. IOS – Catalyst 3850. IOS – Catalyst 3750. IOS – Catalyst 3560. IOS – Catalyst 2960. NXOS - Nexus 7K. NXOS - Nexus 5K. IOS - ISR 881.
Start thinking about various common functions or features enabled on the network. Note any commonalities amongst groups of devices by platform, IOS, or function. This will help identify patterns in the configurations to help in writing templates later. For example: Core Layer:
o Catalyst 6500 platforms. o Virtual Switching System (VSS).
