Blog

The Future Runs on APIs: Are You Ready?

Tony Cuevas

As more applications move to the cloud, they will rely on the network like never before. The users of tomorrow will want more information at their fingertips within seconds. API development is a popular pursuit among a wide variety of businesses today, from manufacturing to media.

Let’s pretend that a network router needs session initiation protocol (SIP) configured for voice over internet protocol (VoIP)…

…not a problem. I would just open my laptop, fire up SecureCRT, and ssh into that router. I’d make sure this router has the necessary licenses and is running the correct version of code. Then, I would gather the necessary information and then enter some SIP commands… and, voila!

The configuration script might look something like this:

Config Script

Throughout my IT career as a Collaboration/Network Engineer, I have spent many hours learning and working within a command line interface (CLI) on a router, switch, or even a Linux server. Working within the CLI is just second nature now, and likely has been that way for years for many engineers in the field. When a device needs configuration or troubleshooting, the CLI tends to be the default tool to use.

For example, the following troubleshooting commands are common:

Troubleshooting Commands

Running commands in the CLI feels like you’re behind the scenes, in tune with the mechanics of the device. Nowadays, it seems that the tide has turned a bit, and the winds have shifted. In greater numbers, network engineers are becoming software engineers. They are moving from CLI to API and from issuing commands to writing code.

An application programming interface (API) is a library of software functionality that serves as an intermediary between two applications so that they can talk to each other. For example, when you use an app on a smartphone or mobile device, the app connects to the Internet and sends data to a server. The server then retrieves that data, interprets it, and performs the necessary actions before sending data back to your smartphone.

The app interprets that data and presents you with the information you wanted in a readable way. This is what an API does. All of the data exchange happens via API. Apps and APIs are transforming our daily lives.

As more applications move to the cloud, they will rely on the network like never before. Tomorrow’s users will want more information at their fingertips within seconds. Learning to code and develop APIs are common themes among a wide array of businesses today, from manufacturing to media. They are not just for IT anymore. APIs power electronic commerce, connect medical devices in the hospital, move you through the checkout lines, and even help you electronically file your taxes. And automation and monitoring promise to take API efficiency to the next level.

CLIs are meant to be human-readable, but APIs are programmed into applications to be machine-readable.

An API is typically classified into one of the following three types:

  • Local API: The original API, created to provide operating system or middleware services to application programs.
  • Web API: Designed to represent widely used resources like HTML pages; accessed using a simple HTTP protocol. Often called RESTful or REST APIs.
  • Program API: Based on remote procedure call (RPC) technology that makes a remote program component appear to be local to the rest of the software.

Most applications have switched from CLIs to graphical user interfaces (GUIs) or simply UIs. However, APIs continue to evolve and can exchange data with any type of front end, including a CLI, a UI, your television, or tomorrow’s software-driven coffee makers (think Internet-of-Things).

Just recently, I began my quest to learn how to write code using APIs. It will be a big step and require some time to get over the learning curve, but I’m up for the challenge. Soon, I will be mastering APIs for creating bots and implementing other machine and platform integrations.

Will I undergo a complete transformation to software engineer? I doubt that very much; besides, opting to maintain a hybrid of many skills is much more rewarding!

Until next time… Cuevas Out!

Tony Cuevas

Tony Cuevas, Practice Lead, Collaboration and Network, CDI Southeast

Tony Cuevas, Practice Lead, Collaboration & Network, is CDI Southeast’s resident Captain of Collaboration. As a practice lead, he has successfully lead account managers in reinforcing existing relationships and strategically widened the foundation of business, leading to an increase of existing clients. This role required continual application of strategic technical knowledge, and the ability to act as a leader and mentor in a highly competitive sales environment. He specializes in many of today’s leading technologies such as: Cisco Unified Communications Manager, Cisco Unity Connection, Cisco Contact Center Express, Cisco IM and Presence, Cisco WebEx, Cisco Spark, Cisco Network Infrastructure, Cisco Meraki and VMware NSX. Tony attended Pennsylvania State University and joined CDI Southeast in 2012. In his spare time, he enjoys traveling, hiking, sports, and being active with his wife and three children.