More Thoughts on Vendor Lock-In and Subscriptions

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.


  1. Hey Ivan,

    I think we can agree on agreeing :)

    Subscription versus owning a box: indeed. My initial thoughts on the
    subject touched upon where you still buy & own the box and switching gear is
    still mostly a life cycle event. But instead of a perpetual license plus
    (in theory optional) support contract, you now end up with (e.g. annual)
    subscriptions. These subscriptions might by default include features you
    won't use or need (yet) but end up paying for anyway.
    That may lead to people going down the rabbit hole to implement more vendor
    lock-in features, because, well, we're paying for them anyway. Of course,
    if vendor strategy and subscription model happens to match with your
    business, then it's a win-win. For an entrenched player, I kind of doubt
    that a business model switch is all about pleasing the customer,
    but for now, let's chalk that up to it being my cynicism talking :)

    It's exactly because of the 'cool' features and the CIO tracks I'm using the
    word agnostic instead of neutral. Architecture and design with clear
    principles and goals (preferably matching the business needs :), should
    highlight the options and reasoning behind choosing those options.
    There's nothing wrong with using the cool feature set if you there's an exit
    strategy or you actually succeed in getting the managers/ CIO to accept the
    consequences :)
    Trying to push for vendor _neutral_ is most assuredly an uphill battle.

    On the subject of software development, innovation and options, it was a
    flighty thought that made me ponder the various developments compared to
    what at this moment to me feels like a dearth of serious options in the
    field of data center 'software defined' networking, mainly ACI and NSX, and
    campus SD-Access.
    Granted, nothing really new here if you look at the history of (virtual)
    networking so far.
    What I didn't express explicitly but had in mind is what e.g. happens in
    the field of "cloudy software design". Not specifically tied to micro
    services/service meshes, but it is where a lot is happening with service
    discovery, smarter load balancing and such. Stuff like consul,
    envoy/gimbal/contour, istio, traefik, voyager, etc.
    (not entirely coincidentally of course, proper software design means a clean
    network design without gimmickry, but then there's The Enterprise...)

    Loads of people use haproxy and nginx but others are working on and are
    using some serious alternatives. And yes on that note, postgresql is a
    serious alternative too and I'm always glad when I encounter people using it
    for their RDBMS :) While a large portions of deployments might use a small
    subset of the options, it is actually possible to choose innovative options
    that are actively being worked on and some are here to stay.
    Maybe 'ever expanding' wasn't exactly the right choice of words, it's more
    like new options popping up, some will fade and fizzle out.

    Aaaanyway, thanks as always for your thoughtful insights.
Add comment