This blog is an interview with Joel W. King, Principal Architect at World Wide Technology, a Cisco Gold Certified Partner and Learning Partner. Joel’s contribution to the DevNet community was recognized at DevNet Create in Mountain View, CA in April 2019. In this interview, he shares with the DevNet team about his background as a network engineer and how he became interested in network programmability.
WWT’s Joel King accepts the 2019 DevNet Creator Award from Cisco DevNet CTO & SVP Susie Wee and Cisco DevNet Software Development Director, Amanda Whaley.
Silvia: Welcome Joel, please share with our readers your background.
Joel: Thank you! The concept of a programmable network is very natural for me and I have been automating the configuration of Cisco routers and switches from my early days as a network engineer. I started my career as a programmer / analyst and after a few years as a system administrator on IBM and Sun systems, I transferred to the networking team and began to learn networking.
Because of my sysadmin and software experience, it was natural to manage the router configuration programmatically. We used a very simple Bash script to send and receive commands via Telnet. The config files were all stored on an FTP server and I used Perl to manipulate the config files on Solaris/Unix servers.
Silvia: What were some of your use cases?
Joel: There were routine tasks, like saving running configs and backing them up. We updated the access control lists (ACLs) on the Internet edge routers. I worked for an engineering and manufacturing company with thousands of technical drawings, which were made available to our customers over the Web. There was a concern that access might be abused, so we programmatically monitored the Web logs and blocked suspicious activity using Perl code and the Bash script to update ACLs on the Internet routers.
We also programmatically updated router configs when migrating from OSPF to Enhanced IGRP (EIGRP). Every router in the network was updated programmatically in a change window of hours. Some might consider that a risky upgrade, but because of my background, it was natural to automate these changes.
I was fortunate to have passed the CCIE exam and later joined Cisco first as a Network Consulting Engineer and later developed several Cisco Validated Designs (CVDs).
Silvia: What differences do you see between then and now?
Joel: The tools have greatly improved. Today a network engineer can use Python, Software Development Kits (SDKs) and automation frameworks like Ansible. Access to Open Source Software and learning resources have greatly improved in the past 3-5 years. DevNet and DevNet Create provide learning tracks for network engineers who don’t have a software engineering background but want to learn.
Silvia: What aspects of DevNet would you recommend to a network engineer who wants to learn programmability?
Joel: The ACI Sandbox lab on developer.cisco.com is one ‘always-on’ lab environment we use for training engineers on the ACI RESTful APIs. One advantage we have at World Wide Technology is access to several ACI fabrics in our Advanced Technology Center (ATC), but I also rely on the DevNet ACI sandbox. The DevNet site lowers the barrier to entry for engineers who want to become proficient in network programmability. There are videos on network programmability basics, webinars you can attend, and lots of learning labs and other resources available from the site.
I encourage both customers of WWT, and our engineers, to take advantage of the learning tracks on IOS XE and Cisco DNA Center. The learning tracts are concise but complete, allowing a network engineer to learn the skills necessary to be successful today.
Silvia: Congratulations on your DevNet Creator award. That involved working with Tetration Analytics, how did you get started?
Joel: Thank you. Working with Tetration, and again I’m fortunate that WWT is an early adopter in many of the Cisco technologies, has been a year-long effort. My use case is an integration between Ansible and the Tetration Network Policy Publisher. Because of my work with security incident response, network and firewall automation, it was a natural progression to develop a module which retrieved the security policy from Tetration and use Ansible playbooks to programmatically push the policy to network devices. There is a need for this integration to apply policy when migrating to a Cisco Application Centric Infrastructure (ACI) data center fabric.
Last year at DevNet Create, I was introduced to the DevNet Code Exchange. I open-sourced the Ansible Tetration module. I met John McDonough at AnsibleFest 2018. John is a DevNet Developer Advocate. After talking to him I submitted my GitHub repository to Code Exchange. For systems integrators like WWT, Code Exchange is a great way to show customers our ability to integrate disparate technologies.
Silvia: You have attended DevNet Create the past three years. Why do you attend?
Joel: At the inaugural event in 2017 I presented on using Meraki APIs. I completed the Meraki CNMA training and wrote a Meraki integration app for Phantom Cyber, a security orchestrator. My role at WWT is to focus on automation and programmability. The focus of DevNet Create is unique, as it provides a venue where software and network engineers can better understand each other’s challenges and perspective.
I also like the open and friendly atmosphere and the broad representation in geography and gender. The sessions and labs aren’t solely technical, they include concepts like Documentation as Code and Design Thinking. Most problems today in IT are not solely technical issues, the challenge is also organizational.
Silvia: Thanks so much for your insight!
Joel: Thank you.