Updated: The networking industry is set for a change as the shifts caused by the needs of webscale and cloud operators as well as virtualization bring complexity and costs to moving data around a data center. The solution appears to be software-defined networks that can be programmed and virtualized. But if networks start to look like the cloud does the field need its own DevOps movement?
Earlier this week at the Open Networking Summit, the term DevOps came up often enough that I began to wonder how far people would take software-defined networks, and where the people who could understand systems level network complexity — as well as the overall application programming — would come from. The DevOps culture that emerged from the cloud computing world developed in response to the blending of a system administrator’s role with that of an application programmer. The idea that IT generalists who can understand broadly the entire IT stack are essential and that both programmers and systems administrators have a role in keeping production apps running is a new one.
So when Rob Vietzke and Matt Davy from Indiana University got onstage to discuss how they’ve created a self-provisioning ethernet network for developers to play on, I wondered where in the networking world these developers would come from. If telecommunications providers want to build network services applications, they will need a culture that encourages people to think differently — up and down the stack– about networking. They may also need a programming language.
The point is, the hype around software-defined networking and network virtualization is building, but the tools to take advantage of programmable networks aren’t quite in place. Indiana and Internet 2 are providing a platform, but do we still need a language and how will we train the people? Feel free to discuss below.
Update: Moments after I published this Kowsik Guruswamy, the co-founder and CTO of Mu Dynamics, reminded me that already vendors are trying to support this with developer-friendly tools such as Juniper’s network sandbox. It has a fancier name, but essentially this is a cloud-based network that a developer can mock up as their production network to test new applications in, so they can see how the network needs to be configured.