Matt Oswalt wrote a great blog post complaining about vendors launching ocean-boiling solutions instead of focused reusable components, and one of the comments his opinion generated was along the lines of “I thought one of the reasons people wanted SDN, is because they wanted to deal with The Network – think about The Network's Performance, Robustness and Services instead of dealing with 100s or 1000s of individual boxes.”
The comment is obviously totally valid, so let me try to reiterate what Matt wrote using Lego bricks ;)
If you ever played with Lego bricks (or Minecraft ;), you know you can use them to build almost anything (including TCP/IP packets and a data center model). Not surprisingly, like any good engineer Matt wants Lego bricks – reusable components that he could use to build his solutions.
This doesn’t mean that anyone apart from the engineers working with the bricks have to understand how they work – although it helps if they grasp the basics. It’s also no excuse for zillions of lame network management products.
Unfortunately, it’s hard to get useful Lego bricks in networking land. What we usually get are pretty useless components that can only be used in one way.
With the advent of SDN, the situation got worse – most SDN vendors are selling you prefab solutions that use proprietary protocols and work only if all components run their software - if anything, the networking is becoming even more monolithic than it has been before. It’s like getting a Lego Death Star after Lord Business glued all the bricks together – it looks awesome from the outside, but it’s impossible to use the components to build anything else.
Oh, do I have to mention that Death Star looks even cooler from the inside? You can never enjoy that view if you bought a glued-together version. Yeah, I know I'm digressing ;)
Obviously the business people paying the engineers can’t understand why they should pay people playing with Lego bricks (and even send them to training to understand the next-generation bricks coming out). All they want is a great toy, and I totally support that sentiment – if all you want to do is look at the Death Star, there’s no need to get involved with the individual bricks.
Unfortunately, the people who don’t want to know anything about the bricks usually never consider what might happen when they drop their toy (or their younger sister sits on it). We all know vendors tend to promise heavens-on-earth when they’re selling their warez, and most of us have at least one gruesome tech support story to share.
Finally, since everyone and their dog think their business is unique, they’re usually not happy just looking at their Death Star – they want to adapt it to the uniqueness of their situation, which is a bit hard to do if you cannot change it, because you bought a pre-glued toy, and not a box of bricks.
Before you start writing a comment about SDN applications sitting on top of SDN controllers, do me a favor and read the documentation of those controllers. Most of them are no better than routers and switches we’re dealing with today – while all of them have a REST API, it’s impossible to make them do something they were not supposed to do.
For more real-life (or “contrarian” as someone put it) SDN perspectives read my SDN books, watch my SDN webinars and presentations, or register for one of my SDN workshops if you’re interested in attending a live event.