Network automation is the automation of repetitive functions within a network. These repetitive functions could occur during any stage of your network’s life cycle, whether it is during planning, deployment, configuration, managing or testing. Any repetitive task where output can be determined based on logics can be automated based on a combination of human fed inputs and dynamically discovered inputs.
Network automation has emerged during recent past as a practical solution to managing large number of routine tasks to bring operational efficiency. Some of the reasons behind it’s popularity are due to the availability of programming languages such as python and its extensive libraries for network automation, programmable capability of network devices from almost all leading vendors, advent of new protocols such as NETCONF for configuration management and streaming telemetry for near real time monitoring.
SDN is the transformation of network architecture that separate out data plane from control plane on network devices. With SDN, network intelligence or control can be taken care by a piece of software that runs centrally. This greatly help networks to be simplified and bulk operations to be performed centrally. With SDN, network management functions can be automated. Third party network automation solutions can consume north bound APIs of SDN controllers to run automated tasks on SDN networks.
Intent based networking is the capability of a network to perform as per user intention. IBNS looks at pre-defined intent and dynamically compare current state to intent. Upon detecting deviations, IBNS can automatically change network state to get in line with initial intent. IBNS does not necessarily use AI, but network automation plays a key role in IBNS. A good read on Gartner Blog on IBNS is as follows.
Of course you can use scripts for network automation. This is a common practice performed by network engineers to automate certain tasks. Although using scripts should work fine for minor tasks, its always a better option to go with a platform centric approach. Scripts are dependent on individual developers and often lacks continuity, extensibility and scalability. To learn more about benefits of platform centric network automation, read article on our blog as below;
NETCONF is a network management protocol that overcomes some of the drawbacks of SNMP. These benefits of NETCONF largely contributes towards performing network wide transactions enabling network automation. YANG on the other hand is a data modeling language used to model configuration and state data manipulated by the NETCONF protocolby NETCONF. Two blog posts that describes NETCONF/YANG are as below for further reading.
Using AI is advanced than network automation as logics can be self-learned through AI techniques such as ML & deep learning. Further with AI, you could also perform activities such as sentiment analysis to determine ‘intent’ given via a non-technical format or predict network behaviors based on historical states. However, in order to successfully leverage AI large volumes of training data is required. This is where data collected through automation can help you start your journey towards intelligent networks.
Simple answer is ‘no’. Network automation leverage SSH, NETCONF, REST APIs to connect to devices and therefore does not require any agents. It further leverage OS specific commands to perform read and write functions on network devices. Activities of a network automation software is similar to network engineer manipulating commands on network devices.