It seems like everything in IT is gaining an application programming interface, or API, and that's a good thing. We need systems that let us automate repetitive tasks, gain efficiencies, and reduce mistakes. But that begs the question: Will the use of APIs replace the command line interface (CLI) on most IT systems?
A year ago Andrew Lerner, a Gartner research VP, suggested that APIs would indeed replace the CLI. More recently, the GestaltIT Roundtable podcast explored the topic as well.
Here let's look at the subject in more detail so we understand the factors that might (or might not) make this prediction come true. I'm going to attempt to make my point without being specific regarding the functionality of the device in question, as that could be a network device, a UC endpoint, or a UC server.
Understanding the CLI
The CLI comprises multiple components:
- User input/output
- Command line editing, command history, command completion
- Input parsing, argument validation, and command dispatch/execution
- Error handling and reporting
Most products have at least two CLI modes, an important point for our analysis:
- Interactive mode, for use with commands that query the device for operational data; it's often used to collect data for troubleshooting, and includes the "show" commands as well as commands to view device configuration
- Configuration mode, which allows the administrator to change the operation of the device
The CLI has the advantage of relying on a simple telnet or Secure Shell session for communications and a parsing engine for identifying and executing commands. It requires no additional software (ASN.1, JSON, or XML parsers) or protocols (CMIP, SNMP). The CLI's disadvantage is that a human is typically driving it.
Read the rest of this article on No Jitter.