The Case for Network Engineers and the WEB

Photo by Glenn Carstens-Peters on Unsplash

If you are a Network engineer, you should have gotten used to hearing day after day about the importance of coding and developing code. Some colleagues haven’t bought this idea yet, but I think we should listen to this trend.

I work with Cisco products, have worked for the past 5 years. And what I have learned so far is that Cisco has made its products a lot more open lately. Think about it, aren’t Cisco’s IOS XE , NX-OS , FTD and many other of its newer Operating Systems becoming “programmable”?

As a consequence Cisco’s portfolio is becoming more and more “interconnected” (no pun intended) within itself and with other vendor’s solutions as well. And the connection is the Web. It seems clear that we will be required to know the intrinsic value of Cisco’s entire line-up, its programming interfaces (Also known as APIs).

Let’s take a look at Cisco’s current portfolio and how they pave the way to a different market era.

For its Core products, its DNA portfolio:

  1. LAN: With its IOS-XE on newer Routers and Switches, we’re able to deliver Software Defined Network, automated network capabilities through Python programming. Making the network smarter and easier to configure for big deployments. Take a look: https://communities.cisco.com/community/developer/blog/2017/04/17/introducing-python-and-guest-shell-on-ios-xe-165
  2. WAN: Cisco’s Viptela acquisition, brings in a handful set of API calls to a more robust SD-WAN solution. And it’s all available for free, as usual: https://github.com/bobthebutcher/viptela (official documentation requires valid login to Viptela’s support).
  3. WLAN: Cisco’s Connected Mobile Experience (CMX) has its own set of API which you can already integrate with Purple products, Meraki and many other Mobile analytics solutions.

Now, on its Security portfolio:

  1. Network security: We have been walking towards its unified security software for a while now. ASA and Firepower are now one in what’s called Cisco Firepower Threat Defense (or simply FTD). Among the unification of features in one single image, we are getting many exciting new possibilities for the ASA and FPR appliances, they can now interface with the WEB via its own API (https://www.cisco.com/c/en/us/td/docs/security/firepower/620/api/REST/Firepower_REST_API_Quick_Start_Guide/About_the_API_Explorer.html) and if you’re not excited about this, you should! By making use of this API, Cisco will soon be able to deliver a WEB management interface for its FTD-enabled appliances. That’s pretty wild if you ask me.
  2. Web security: Umbrella? Need I say anything else? Well, if I must, then, Umbrella is the Secure Internet Gateway which Cisco is talking a lot about lately. It’s a product born for the WEB and the recursive DNS intelligence from OpenDNS, and guess what? Coming from the WEB, this guy also has its own API to be customized with. So you delete things in it, add security events and even get domains from your Umbrella account using the API. https://docs.umbrella.com/developer/enforcement-api/introduction-1/
  3. Threats security: Cisco’s Endpoint Detection and Response solution (AKA: Advanced Malware Protection) uses the intelligence of the cloud to protect its users. Naturally, it communicates with the WEB for security updates and even policy updates. It’s already integrated to Cisco’s Threatgrid for easier file analysis and it’s becoming a “service” for network devices, which if licenses , they can prompt AMP for the verdict on files traversing them.

Oh and of course AMP also has its own API: https://api-docs.amp.cisco.com/api_resources?api_host=api.amp.cisco.com&api_version=v1

And a quick overview on its Collaboration portfolio:

  1. Video: A few years ago all we had for Video in Cisco’s portifolio was Webex for the cloud and an MCU for “in-house” video calls. Look how much we have gone now: For the cloud we have Cisco Spark and for on-premises we have Cisco Meetings Server (CMS). Cisco Spark seems to be where it’s all heading, a complete and well documented API , completely customizable and flexible to the customer’s need. If you want, you can embed Cisco Spark’s cloud MCU into your new APP or Website. All you need is to read thoroughly the API documentation (https://developer.ciscospark.com/quick-reference.html). Now, that kind of integration among different services is only available for open platforms. And CMS is no different, as you can customize it using its API.
  2. Voice: With its recent Broadsoft acquisition, Cisco has a market-leader product with open APIs for carriers (https://developer.broadsoft.com/), alongside its Spark Call for the US/CAN markets.
  3. Messaging: Guess what? Cisco Spark messaging can also be customized. Check its API. And Cisco Jabber is also that way. I myself have developed a messaging bot using Spark services and IBM’s Watson.

Needless to say, Meraki itself was born as a complete platform with APIs. Its Beauty relies heavily on the marvels of the Web communication and how secure it is nowadays for the appliances to communicate with the cloud for its centralized management portal.

To sum up: Cisco has one of the broadest and most complete API enabled-Portfolio among the many infrastructure companies around. And it sure is coming around its old one with a stronger and future-proof set of products.

As network engineers, Sooner or later we’ll have to catch up with this future, we have to learn the basics of Web development… To me, now is the time to do so.

Thus I’ll leave some tips of websites I’ve been using lately to study:

1. Codeacademy (https://www.codecademy.com/ ) : for free HTML and CSS lessons;

2. SoloLearns (https://www.sololearn.com/ ) : for free Javascript / CSS Lessons;

3. Enki (https://play.google.com/store/apps/details?id=com.enki.insights) : android APP for general coding skills.

And some Tools I recommend for fun:

1. VisualStudio Code (https://code.visualstudio.com/) : code editor (any language, but in this case HTML/CSS/JS);

2. Git (https://git-scm.com/downloads) and GitHUB (www.github.com): Version Control System;

3. Firefox and its “Debug” (F12) option : Testing playground.

Should you have any tools/learning websites to recommend me, feel free to comment!

ps. Originally published in 2018.