Schedule a Consultation

THE GUIs ARE COMING: A New CLI

August 31, 2017 Jeff Kish

Fellow CLI junkies, are you ready for a world of GUIs?


When I first entered the industry, I was often tasked with configuring dozens of wireless access points at a time, and the GUI made that possible for me.  I barely understood what an SSID was, but I could configure it by checking a box.  However, as I learned CLI for network switches on the side (as there was no GUI for switches at the time), I started to understand the value it brought.  It didn't take long

 for me to convert - gone were the days of point-and-click, wait-for-refresh GUI configuration.  I could configure an access point in seconds, and I was never going back.

 What CLI is and how GUIs are taking over

 

If you're like me, you thrive on CLI access.  Want a VLAN added to a trunk?  Need to reconfigure a host interface?   Done in seconds.  Life doesn't get much better, especially when the network is down and it needs to come back online NOW.  Unfortunately, there has always been this nagging problem with CLI configuration - accessibility.  Ask a network admin to configure ESXi CLI, or vice versa, and we understand the problem.  Learning a new CLI is like learning a new language.  We might be able to learn one or two CLI languages, but only the techiest of techies will bother to learn more than that.

 

THE COMEBACK KID

Meanwhile, GUIs have made a roaring comeback as businesses have demanded ease of use and simplicity of management.  Even Cisco, the great purveyor of CLI, initially forwent CLI in its SDN offering, Application Centric Infrastructure (ACI), though CLI was later added.  One of the very promises of software-defined infrastructures is to enable users of lesser skill to accomplish the same tasks.  Task execution is streamlined, and HTML5 gives us an interface that no longer grinds between clicks.  GUIs are faster, more intuitive, and easier to use than ever before.

 

 Network

 Hear more from Data Center CCIE Jeff Kish from his VMUG talk, "The Golden Data Center".

 

But the story doesn't end here, because our original problem remains unsolved.  GUIs have improved, sure, but 

they still can't deliver the value of CLI - fast access, quick configuration, and instant data collection.  

Besides that, we still have different interfaces on each system.  We need a new CLI; one CLI to bind them all.

  

THE NEW CLI

Enter: REST, the new CLI.  REST stands for REpresentational State Transfer, which is a fancy way of saying that we don't establish a session - instead, we send a command and get a response.  Sometimes the response is simply an "ack" (a write operation), while other times it is a list of all MAC addresses associated with a port (a read operation).  REST uses HTTP for sending its messages, which includes the verbs many of us (even non-developers) understand: GET, POST, PUT, DELETE, etc.  This creates a common language among any device that exposes a REST API, which, today, includes almost all modern IT systems.

 

Once I started playing around with REST APIs, I felt like I was at home.  I soon also found there to be that desired commonality among systems, as accessing the REST API library for a new vendor is similar to what I already know (as opposed to, say, Juniper OS versus Cisco).  This is the new CLI, and it's one that CLI junkies and GUI lovers alike must embrace if they don't want to be left behind.

 

Whether it's your first time reading about REST, or whether you've already dabbled in it, I highly encourage you to join me in Cisco's DevNet learning zone: https://learninglabs.cisco.com/tracks.  They have several intro courses to get you started, and the best part?  It's free and open to anyone!  So join me in catching this new wave and, as always, let's do some whiteboarding.

 

 

Jeff Kish writes about REST Api

Share This: