This section will cover basic information about network progammability and automation.
Network Programmability is using scripts to perform some tasks. There are 3 main compotents:
- Application: python
- API: REST (JSON/XML)
- Infrastructure: Router/Switch
Network Automation is the coordination of tasks in a controlled orchestrated manner. A example of this is using ansible to run one script to see the status of the interfaces and if TRUE change a element of it.
Ansible is a very common network automation tool thats written in python and enables you scale network automation.
Key Benifits are:
- It's a Automation and Orchestration tool
- It's written in python, its easy to use and read
- Its FREE!
- It's agentless meaning there is no apps installed on infrastructure
- Lots of Modules! Modules are used to interact with network devices.
Software defined networking is intent based networking abstracting the data plane from the controll plane. By abstracting the controller away from the data plane you enable the ability to program devices from a central location.
There are a couple of Cisco SDN solution depending on the type of network:
- Cisco ACI APIC-EM for datacentre
- DNA Centre that can sit on top of ACI and also do Enterprise automation.