The rought draft of this blog was written in vi. I live and breathe the CLI. I spend most days in a terminal pouding out commands pretending to be a hacker from the 80’s movies. Some would say I’m a CLI elitist, and I admit, there have been times I’ve had to force myself to listen to someone who only uses a GUI. So, when I first heard of the software defined networking (SDN) movement, I was skeptical. How is this any different from the terrible amalgamation of useless management GUIs we have today?
It’s entirely different because it’s new. In a world where we still implement a technology from 1973 (Ethernet), new is rare. SDN isn’t a new way to manage your network. It’s a new way to actually network your network. It may look like a rebranded “management platform”. In fact, some vendors are doing just that and calling it SDN. There will be “individual” devices and a central “collector” to manage each control plane, but that’s just the beginning. Opening up your network device’s control plane to the openflow protocol opens your network to a world of possibilities.
Your network is changing. It has to. If your network isn’t changing, your customer base isn’t growing or your company isn’t innovating. You may still have a couple years to embrace the change, but SDN is coming to a network near you. What it looks like is up to you, but here’s what I’d like to see a datacenter look like in the next few years:
Hypervisors, switches, load balancers, WAN accelerators, firewalls, and routers from different vendors all communicating with each other in peaceful harmony. Gone are the days of “Firewall x doesn’t play nicely with load balancer y”. How much easier would life as a network engineer/operator be if when you went to upgrade a switch, it went out and informed the rest of the network and said “Please bypass me, I’m going to be a little busy for the next few minutes, I’ll let you know when I’m ready for more traffic”? If the firewall knew load balancer #1 was reaching capacity it could move a little more traffic to load balancer #2. If a systems admin needed to move a VM from one hypervisor to another, how cool would it be for the network to automatically swing the vlans, setup an L2VPN to another datacenter, or create a VXLAN tunnel?
We don’t do any of this manually right now. We use scripts and templates developed to make our lives easier. Why not take those scripts and templates one step further and let the devices speak with each other in the same language?
If you’re a CLI elitist, you may have to learn a new language, but you wouldn’t have to change your “hackerness”. The controller could still be CLI-based and provide that CLI flexibility you’re used to, but from one central location. It doesn’t get much better than that from a management, security, and efficiency point of view.
If you’re a network manager, a software defined network makes your numbers look a lot better. An SDN standard would force vendors to focus on quality and price of their hardware as the differentiator instead of their proprietary “lock-in” software.