This morning I was on the phone with Ivan Pepelnjak (@ioshints) to decipher some of the paragraphs in one of his latest posts on Nicira Open vSwitch inside vSphere. He always has to bear with my stupid questions so I can see him (virtually), from time to time, facepalming some of my questions. Long story short we cleared a few doubts I had on his write up and I decided to ask him yet another border line question. The question sounded like this:
“Ivan, I see Nicira (and many others) are using extensively the word open. I also see a lot of excitement from people that point to Nicira as a cross-hypervisor vendor thus giving this idea of openness and good feeling of not being locked-in. However I believe this problem is multidimensional: if people consider vSphere a lock-in for the traditional virtualization space, why aren’t’ people considering Nicira proprietary for what they call the network virtualization? In the final analysis, why would one want to have 3 vendors to virtualize servers and 1 vendor to virtualize the network? What’s your thought?”.
At that point Ivan laughed out loudly and I was sure my question was another facepalm. Oh well. But before we get there, let me show you a picture of what I had in my head while asking that question and that demonstrates why I thought that vSphere isn’t that different from Nicira NVP (from a lock-in vs openness perspective):
If you segment vSphere as a mere compute virtualization layer (we need to talk about this by the way, maybe in another post) and Nicira as a network virtualization layer they both are pretty much “open” in terms of objects they support. They just happen to be different objects because we segmented them into different categories. This doesn’t mean that one compute virtualization product is a “lock-in” whereas one network virtualization product isn’t a “lock-in”. In other words, if customers are strategically looking at different hypervisors (are they?) for not being locked-in… why shouldn’t they look at different network virtualization products for not being locked-in?
I am looking forward to the day when a C comes in and say “oh wait, now you have Nicira and Pokera (a name I’ve just made up, don’t bother googling it)…. let me manage them both for you in a single pain of glass”. God forbid! My suggestion? Run! Run! Run!
And this is where the next massive mess in the compute era is going to begin, all over again, forgetting about the most important cloud principle above all: economy of scale through simplification. Amazon docet.
I don’t envy you Mr. customer: you have the choice of either being “inevitably locked-in” or die under a ton of scripts (or under a ton of expensive consultants writing them for you for that matter). I don’t honestly see a third way.
But wait a moment, we left Ivan laughing and forgot about him! Perhaps he thinks that this is all wrong. Perhaps OpenFlow is so open that you can interchange vendors at will and avoid that lock-in everybody is concerned about. Well it turned out, much to my surprise, that Ivan was laughing because he linked my very own article “The ABC of Lock-in” in a comment of a blog post published on PacketPushers that was talking about this very same problem. Read it yourself here. While there is admittedly some level of (theoretical?) interoperability between some of the components in an OpenFlow deployment, network professionals don’t seem to be so positive and I’d be interested myself to see a real life homogenous production network built with multi-vendor technologies. Mine isn’t an academic question: we know everything is possible in a demo or better in a power point deck. Mine is more of a practical question for real customers running real businesses. After all having an A and a B interoperate with each other wouldn’t be easier, in my opinion, than having a C homogenizing an A and a B.
Bear with me please. I may not understand a lot about networking (admittedly) but I have been around enough to see “the big picture” (hopefully).
I have just came to the conclusion that, perhaps, open is an abused word. What do you think?