APIs—application programming interfaces—are everywhere: Amazon Web Services, Facebook, and home automation devices such as thermostats, refrigerators and personal wireless lighting systems. A good API makes it easier for users to develop software for the device or application by providing all the necessary building blocks.
Aruba has APIs throughout our product portfolio, including Aruba switches. As a result, network operators can derive a number of benefits from taking a programmatic approach to network management:
- Simpler configuration and monitoring
- Reduce network problems due to human error
- Allow third-party tools and applications like orchestrators to pull data and take action
- Enable organizations to integrate with a DevOps environment for true end-to-end automation.
What to Know Before You Start
When building a programmable network, it’s critical to keep two key considerations in mind:
- Programmability for automating networking gear should be backward-compatible so an organization does not have to throw away all their existing automation scripts, but can migrate to programmable automation at their own pace.
- APIs are flexible. APIs offer a choice of language and many levels of granularity and abstraction. This depth and flexibility enables network operators to more easily define their automation architectures.
Put an End to CLI Challenges
The command line interface (CLI) is a common means for network operators to interact with network devices. But CLI is cumbersome, especially when it comes to monitoring. Most operators have to live with screen scraping today. This entails using “show” commands, piping the resulting unstructured data stream to a file, and then filtering that data using regular expressions to extract parameters. It is painful, and error-prone.
SNMP may be used instead for monitoring as it uses structured data, but it is difficult to fire off other actions based on the monitored parameters, and that limits its potential for network automation. Also, SNMP experts are a rare breed; SNMP is restricted to people working in the networking discipline.
Three Advantages of REST APIs
REST APIs are common in the application software programming world. The benefit is that REST API use structured data in their request/response and it is easier to act upon to manage and configure the device.
- Software programmability. Structured data can be processed and consumed directly without any additional parsing, as is required with unstructured data from a CLI. Devices can be managed and controlled in a programmatic fashion. Structured network data can be subjected to logic checks (IF / ELSE statements) and then subsequent actions can be taken based upon the results, all in software, instead of doing it manually.
- Easier integration with business logic systems. The use of structured data (e.g. JSON format) has the advantage that network configuration and monitoring commands can be written in any language, such as Java or Python. The use of higher level languages for switch management means that it can easily be integrated with other systems and initiate other actions based on monitored results. Examples of infrastructure systems are firewalls and IDS/IPS. Examples of business logic are ChatOps systems like ServiceNow or PagerDuty.
- Larger labor pool. The use of higher level languages for switch management means IT operations can take advantage of a larger labor pool of software engineers who need not necessarily be well versed in vendor- or device-specific CLI. API programming is a transferable skill, and it lowers the barrier to entry for personnel. For example, a junior Python developer working with a network team only needs to be told what parameters to call in JSON to carry out network configuration and monitoring functions.
Quantifying the Benefits of Network Automation
Let’s look at an example of repetitive tasks that can be automated through the use of JSON formatted structured data and Python programming using REST APIs.
Some examples of repetitive tasks are:
- VLAN config
- Adding ports to trunks
- Ports to VLANs
- Setting ACLs
- Setting QoS
(Please note these numbers may vary depending on the complexity of the network, pay scale and operational architecture.)
- Time to config a VLAN: 2 mins
- Time to configure QoS for a device: 2 mins
- Time to configure ACL for a device: 2 mins
- Number of VLANs to configure per device for add/move/change: 1
- Number of admins per network: 2
- Effect of human error: 3-fold increase in config time
- Average salary of network admins: $160,000
Often, people make mistakes, which could double, triple or quadruple the time. On average, these repetitive configuration tasks may take up to 10% to 15% of an administrator’s time.
Repetitive monitoring functions such as “show commands” to seek additional data in the event of an alert or alarm add another 10% to 15% to the network operator’s workload. Again, human error usually adds significant amount of overhead to this estimate.
Add Up the Benefits
About 25% of a network operator’s time or more is spent on repetitive configuration and monitoring tasks that can be automated and made error-free using APIs. If a network operator is paid $160,000 a year, that is a $40,000 savings per network operator. If you have five network operators on your IT staff, that is as much as $200,000 savings per year. And the biggest return comes in the form of avoiding operator error and service downtime.
Taking a programmatic approach to networking can enable IT to meet the growing demands for reliable networking and significantly reduce the configuration and management workload.
Are you considering automating repetitive network tasks? Tell us in the comments below.
Did you like this blog? Give it a thumbs-up or share it on social media using the buttons below.
PG Menon is senior director of product and solutions marketing at Aruba.