One of the more unsettling aspects of software-defined networking (SDN), at least from the network manager’s perspective, is the idea that before long the enterprise network won’t be managed as much as programmed.
This has led to some justifiable hand-wringing. Managers worry that the skills that have served them well over the years are about to give way to writing code, which is a completely different discipline.
But while there is some truth to this, the larger reality is that SDN will shift the paradigm between infrastructure and applications entirely so that specializations like administrator and developer will become increasingly less important as digital transformation unfolds.
Already, says CIO Review, users can implement many of the leading SDN platforms without having to write a single line of code. With user-friendly GUIs and other intuitive tools, long-time networking pros can quickly acclimate themselves to the new working environment without having to delve into the nuts and bolts of syntax and semantics. Knowledge of programming will certainly help when it comes to higher-level customization, but it is by no means a make-or-break requirement in an SDN universe.
In fact, notes Information Week’s Charles Babcock, it will likely be the programmer who is under the gun to learn networking skills than the network manager needing to bone up on programming. Under the DevOps IT model, defining the network will become part of the application development process, while monitoring and maintaining performance will continue as an operational process. So if anything, the network member of the DevOps team will need to ensure that services are running smoothly and, at best, will have to collaborate with the developer to program any fixes that are needed. This is one of the goals of Cisco’s DevNet program: to educate all stakeholders about the new IT management paradigm.
At some point, however, network people will have to delve into network programming. This begs the question: what language is likely to be most relevant? According to Netronome’s Bapi Vinnakota, one of the leading contenders at the moment is P4, which emerged from the match-action flow methods used in OpenFlow. Originally developed for the network core, it is increasingly making its way to the server layer, where it oversees data-plane functions like forwarding, modification and inspection of network traffic. The language is intended to be hardware- and target-independent, interacting with everything from the fixed-function ASICs in a Layer 2 switch to the fully programmable CPUs that populate routers, web proxies and firewalls.
As well, it might not hurt to learn the basics of languages like Python and the various infrastructure programming tools like the Netconf REST automation protocols and YANG data modeling.
But as Cisco’s Antonella Corno points out, soft skills like communication and collaboration will be more important in an SDN environment than technical capabilities like programming. The most important thing a network manager can do at this point is become well-versed in the business models and preferred outcomes that drive the development process, as this will improve the ability to perform the proper analyses to optimize network performance.
Without question, network management will be dramatically different in an abstract, software-defined environment. But this does not mean it will necessarily be more difficult or require an entirely new set of specialized skills. In fact, it appears that in many ways, SDN will be far easier to manage — perhaps to the point where the enterprise will no longer need dedicated networking staff.
When networks become adept at running themselves, the onus will naturally shift from keeping today’s systems connected to charting new ways to expand and optimize what is already in place.
Arthur Cole is a freelance journalist with more than 25 years’ experience covering enterprise IT, telecommunications and other high-tech industries.