As a network engineer, either a rookie or tech dinosaur, you would have to be asleep these last 8-10 years to miss the fact that we’re changing how we do networking. It’s not going to be good enough to SSH into 150 routers or switches to change NTP because that’s how “you’ve always done it.” Organizations need to be nimble and efficient to meet the ever-changing business cycle. That means we “networkers” need to do our jobs better to support that business need. We need to show that we’re an assistant to a profit center, not just a cost center.
Enter REST APIs
While attending Cisco Live in San Diego this year (2019), I sat in on Anne Gentle’s (Developer Experience Manager) presentation. She was covering the basics of coding using REST APIs right in the heart of DevNet country in the Sail Pavilion. If you’re new to coding-yourself-into-free-time, this is a good session to attend at a future Cisco Live event. I’d also recommend nearly ANYTHING from John McDonough and Hank Preston. All three of these folks have very personal and technically deep teaching styles.
Much of Anne’s time was spent breaking down what REST APIs are, how they are structured, and where to find more information. For example, REST APIs use common HTTP methods like GET, PUT, DELETE, and PATCH executed by API verbs. Using these methods in your code you can modify VLANs on a particular switchport or get device information with one variable change. Much better than logging into a switch manually and CTRL+C/CTRL+V your snippet.
Since the REST API follows an HTTP URL format, most of us techies can read the execution. Replies from this client-server interaction are normally in JSON format but that may be in XML or some other format. The cool thing about the presentation is you learn a couple items about REST; it runs over HTTP, it’s client-server based, you receive response codes when action is taken, and simple applications like Postman can be used as an interactive tool.
You may be scratching your head wondering how HTTP format relates to setting functions on a switch. It’s a pretty simple concept. Look at this Wireshark output from an HTTP request.
Notice the GET transmitted from the client. If the client needs information from the server, use the GET method and if it is successful, the server sends the 200-OK response code. Need to give some info? Use the POST method. What about changing data on the server? Well, the PATCH method is just the thing. While it may seem basic, it’s very powerful and this is what you’ll learn in the Coding 1001 session.
If you’re still wondering how the method-responses can make configuration changes, Anne works through that as well. The image to the right shows the URL format. All of the REST verbs are passed to the server from the resource and URL parameter fields. When you read the documentation for the API you’re working with, you’ll be able to see exactly how to form the URL, with the appropriate method, to achieve the desired result.
Need to Read?
I had heard rumors that Anne was laser-beam-focused on documentation. Sitting in her session, the rumor has to be true; she had four slides on documents. I know it can be frustrating looking for vendor documentation. Especially docs discussing idiosyncrasies of a product. I hate when vendors pass off documenting products to community posts and service tickets. I don’t want to wade through other customer tickets to figure out my problem. Anne focused on helpful articles and whitepapers directly relating to help you learn.
Consider the Cisco API documentation as a supplement to your DevNet journey. They are there to help you develop code so you can automate your job. I’ll be the first to say this isn’t easy because of the research involved if you’re coming at this fresh. It isn’t easy because many times you don’t know where to start, and, you don’t know what you don’t know. It’s easy to say, “Read the API documents” but it’s another thing altogether to understand them.
This is why the other links Anne pushed are so relevant. In fact, this is a belief I am resolute on. Most engineers will try to better themselves, but they don’t know where to start. Technology is changing so fast you really can’t afford to guess wrong. Within the scope of automation, Cisco has great learning tools that can kickstart your career…even if you have no budget for continuing education. If you supplement the documentation with Preston’s YouTube videos, and Cisco’s dCloud, you can ramp up in short order.
In the meantime, start with these links. Anne had them in her presentation and they are well worth the time investment as a starting point.
There are other reasons to tease out the developer in you. It goes well beyond affecting your daily responsibilities of VLAN changes. Many of the tools you would use—or build—are improved with technologies like artificial intelligence (AI) and machine learning (ML). A quick glance of product marketing glossaries illustrates how these two disciplines are becoming tightly integrated in wireless, networking, and data security. You would be hard pressed to find a reason not to have a basic understanding of AI/ML.
Cisco shared more on these topics during their recent Tech Field Day Extra presentation. While butts were in seats around the DevNet pavilion, the TFDx delegates were getting a deep dive with Ashutosh Malegaonkar as he presented, “Cisco DevNet Co-Creation – ML Workbench.” AI/ML is the future of computer technologies and Cisco is bringing training and development resources to bear. As you start to learn API and DevNet strategies, keep an eye on these “intelligence” technologies as well.
The AI/ML Dev Center is a great resource with learning labs and sandboxes so you can hone your skills. Uncertain how AI/ML may help you? Listen to what Ashutosh had to say in his TFDx presentation. He uses a real world scenario where ML may notice a dog barking while you are on a conference call. The conference call application response from that noise may be a pop-up message to the offending attendee that they should mute their phone. That’s a small but beneficial service! Now extrapolate that basic decision making to all the other data collection points in your environment! Your applications get smarter and more useful making your job easier.
If you want to jumpstart your career, these are free education resources. All you need to devote is some time and effort! Think about all the network vendors that are moving to a DevOps posture and ask yourself, “Am I ready for this?” If the answer is, “No”, better get on it or you’ll get left behind. If the answer is, “yes,” use the resources to strengthen your understanding.
Is your IT job architecture-focused? Think about how you can deliver a great service model by incorporating the automation taught at a class like this. Make it easy for your customers to adopt the automation and show them where to go. You’ll be a hero when you make everyone’s job simpler.