Nemertes recently looked at how organizations with larger networks – particularly Cisco heavy networks – are implementing network automation. The results were a little surprising, as less than 20% use Cisco’s flagship network controller DNA Center and dashboard, which can automate the delivery and management of change.

On the other hand, more than 40% use their own automation solution using various forms of imperative scripts or programming (mostly Python), and about 50% use a different model instead of or in addition: declarative automation.

Imperative programming

The idea of ​​imperative programming is to write programs that are a series of instructions such as “Make A, then make B, then if X happens, make C otherwise E”. Most of the most widely used programming languages ​​are required (C ++, C #, PHP and Python). The current trend for more network automation is for many networking professionals to dust off old programming skills or take them for the first time.

The effort is non-trivial for network staff who are not used to this style of programming or who simply find it difficult and joyless. These detailed instructions can be very time consuming and can consist of many steps for even a single configuration change. These steps can be time-sensitive (something 1 has to be done before something 2 has been done or something 1 cancels out the effects of something 2), as well as time-sensitive (something 2 can’t be done to a certain minimum. period of time after something 1 has happened or needs to be done some time after that). Also, the engineer as a programmer has to be so careful only what needs to be done everything this is necessary.

Declarative programming

Some network staff find declarative approaches more appropriate. Declarative programming focuses on defining the desired outcome of the program, not on the steps that need to be taken to achieve it. HTML can be considered a declarative language – “This web page must have this text in this size and this image below and two buttons here and here to take users to pages B and C.” As can SQL – “The set data must contain all records that meet conditions A, B and C. “

Declarative approaches to network automation bear much of the burden of programming by network engineers. People can focus on how a device or service should be configured, instead of coming up with detailed instructions on how to properly achieve that configuration. That is, they can focus on statements such as “Ports 1 to 24 must be configured to 1Gbps full duplex. Ports 1 through 12 are in VLAN A. Ports 13 through 24 are in VLAN B. ”

Copyright © 2022 IDG Communications, Inc.

Previous articleThe most common security vulnerabilities today are explained
Next articleBusiness intelligence acts as a precursor to strategy