Albert Siersema sent me his thoughts on lock-in and the recent tendency to sell network device (or software) subscriptions instead of boxes. A few of my comments are inline.
Another trend in the industry is to convert support contracts into subscriptions. That is, the entrenched players seem to be focusing more on that business model (too). In the end, I feel the customer won't reap that many benefits, and you probably will end up paying more. But that's my old grumpy cynicism talking :)
While I agree with that, buying a subscription instead of owning a box (and deprecating it) also makes it easier to persuade the bean counters to switch the gear because there’s little residual value in existing boxes (and it’s easy to demonstrate total-cost-of-ownership). Like every decent sword this one has two blades ;)
At every customer I've always stressed to include terms like vendor agnostic, open standards, minimal nerd knobs and exit strategies in architecture and design principles. Mind you: vendor agnostic, not the stronger vendor neutral. Agnostic in my view means that one should strive for a design where equipment can be swapped out, but if you happen to choose a vendor specific technology, be sure to have an exit strategy.
I like the idea, but unfortunately the least-common-denominator excludes “cool” features the vendors are promoting at conferences like Cisco Live or VMworld, and once the management gets hooked on the idea of “this magic technology can save the world” instead of “it’s Santa bringing me gifts every Christmas” you’re facing an uphill battle. There’s a reason there’s management/CIO track at every major $vendor conference.
And this is where the current trend worries me. Take for instance SD-Access. Although I'm sure some genuine thought has gone into the development of the technology, what I see is a complicated stack of technologies and interwoven components, ever more exposed as a magic black box. And in the process, the customer is converted from one business model to the other (subscriptions). Cisco is playing strong in this field, but they're not the only vendor to do so.
There's no real interoperability and I'm wondering (I should say doubting) if the complexity is really reduced. And the dependency on a given vendor will undoubtedly result in headache and probably even down time
Formulating an exit strategy becomes ever more daunting because even with proper automation it will probably mean a rip-and-replace.
It's worse than that – every solution has its own API (every vendor will call it open, but that just means “documented”), and switching vendors often means ripping out the existing toolchain and developing (or installing) a new one.
Obviously there are intent-based vendors claiming how they can solve the problem by adding another layer of abstraction. Please read RFC 1925 and The ABC of Lock-In before listening to their presentations.
In the software development world I see an ever expanding field of options and rapid innovation, lots of them based on open source. Whereas infrastructure seems to be collapsing into fewer options.
A lot of that is “the grass is greener on the other side of the fence.” Operating system space is mostly a Linux monoculture with Windows fading and OSX/IOS having a small market share. Most everyone is using a MySQL clone as their relational database (kudos to the few Postgress users). If you want to run a web server, you can choose between Apache or Nginx. There are a gazillion programming languages, but the top five haven’t really changed in the last 10 years.
The ever-expanding field of options might also be a mirage. As anyone evaluating open-source automation tools and libraries quickly realizes, there’s a ton of them, but most of them are either semi-abandoned, unsupported, developed for a specific use case, not fit for use, or working on a platform you’re not comfortable with.