A subject very close to my heart at the moment is what skills I will need to have in order to support the Next Generation of Software Defined and Application Centric networks.
It is of no surprise that Networking like most other towers in IT has embraced abstraction as the way forward to provide levels of flexibility and agility never before seen in the Network.
What is perhaps a bit of a surprise, is the speed in which these new concepts are being developed and deployed. It seems like only last year terms like SDN were still viewed as “Way down the line” technologies. But here we are at the start of Q2 2014 and it seems like if you don’t already have an SDN plan you’re already behind.
So what skills will we need in order to design, support and deploy these new networks?
As this is a Cisco blog I will focus on Cisco’s latest Nexus 9000 and Application Centric infrastructure (ACI) based networks.
Firstly the good news is, traditional networks are not going away or at least not for a long long time, so we have plenty of time to make this inevitable transition and even then, having strong traditional networking skills will always be the essential foundation you will need on which to build.
The other great news is Cisco is absolutely committed to bringing us “Traditional Networkers” on this new and exciting journey.
But as in most things, those who get the skills early will be in greater demand, and something I have always strived for is to always be in that “high demand” skill set category. After all that’s generally where most of the fun is, right?
We now live in a time where the traditional complexities which we have come to know, and to some degree love, are increasingly being hidden from us and even put beyond our control behind simple GUI’s, abstraction layers and overlays.
And the “GUI” jockey (essential though they are) will increasingly fall more and more into the I.T minimum wage category.
Now I’m certainly no programmer, but I see having basic programming competency as the next skill required to remain in that band of “High Demand” networking professionals.
Some even believe that not being able to code could well be the next definition of literacy.
Perhaps that’s taking things a little far, but I would certainly say that we all need to be open to change and embrace new ways of doing things.
We have no doubt all seen the huge efficiencies that having scripting skills can bring to the network, but the problem with scripts is they are very rigid, they just systematically run through regardless of whether the previous line failed or not and have no real way of using information gathered earlier in the script.
Cisco Nexus 9000 switches however have a plethora of options regarding programmability in addition to the CLI including a RESTful API (XML & JSON) and a native interactive Python interpreter, which opens up a huge raft of possibilities.
Python as you may know, can be used interactively without the need for compiling, similar to the familiar CLI but far more powerful. I have heard it referred to as the “CLI of CLI’s” but a more accurate description would probably be the “Shell of CLI’s”.
The Cisco Nexus 9000 family is all about programmability and openness and that is where I see the greatest opportunity for the Next Generation networkers, or NetOps as some are calling them.
So what’s in my training plan for this year? Well I’m still fully committed to sitting the CCIE Datacenter Lab.
But I’ve also started sitting online Python courses. There are many out there some of which are now being tailored to the Traditional Networker. Also top on my list is developing an understanding of how to interact with the RESTful API’s on these devices.
Have fun! Its certainly an exciting time to be in Networking.
Colin
@UCSguru
Further Information:
The Data Center is changing and why we need to change with it now.
http://www.youtube.com/watch?v=euZit2ON_xA
Nexus 9000 Programmability Guide
A Great resource for Cisco training and certification
https://learningnetwork.cisco.com/index.jspa
Hi Colin,
I’ve learnt some Python basics, but don’t really know enought to feel I can dive into SDN. Can you recommend some online courses or some project workbooks that give you ideas of how to use Python in a practical way rather than just dry ‘heres a data type’ ‘heres an array’ method that leaves you feeling empty at the end of the books/course
I am NOT a networker (yet) and some of the terminology written here is beyond me…( SDN?)…HOWEVER, as a sometime Mainframe Tech I have discovered that the programmer mindset is to be desired practically everywhere. I began my career in IT as a programmer and the training was VERY rigorous. The mindset associated with programming is very useful in the understanding and care and feeding of the Mainframes/servers we all know and love. I recommend that we ALL “keep our hands in” where scripting/programming is concerned. The skill is useful and the thought processes needed to perform the skill(s) can only make ya’ better and better! Can you say “cross training”?