liveBook · Manning

Vendor lock-in

As explained in Think Like a CTO

Vendor lock-in is a condition in which dependence on a provider makes it difficult or impractical to move software or services to another provider.

Vendor lock-in occurs when dependence on a vendor, language, framework, or platform makes change difficult, impractical, or expensive. Avoiding it preserves future options, much like an insurance policy: the extra cost may protect the organization from greater disruption later. section 8.1

The trade-off is rarely binary. A platform may accelerate delivery while creating dependence on its ecosystem, proprietary services, licensing model, or operating conditions. The right choice depends on whether the organization can absorb future price increases, downtime, degraded performance, or migration work. section 8.1 section 8.2.3

Before committing to a technology, ask:

  • Can the code, data, or configuration be lifted and run on another platform without a full rewrite? section 8.2.3
  • What happens if licensing costs rise, the vendor experiences downtime, or performance degrades? section 8.1 section 8.2.3
  • Does the additional cost of portability function as a justified safeguard against greater future disruption? section 8.1

When an administration tool becomes unusable

A storage administration system was neglected through years of upgrades and eventually depended on obsolete Flash software. Administrators had to find an old, isolated laptop to regain access before upgrading the console to HTML5. The incident illustrates how an apparently small technology decision can remove practical recourse. section 8.1

Portability through abstraction

Java separates application code from underlying hardware and operating systems through the JVM. Multiple JVM and deployment choices can support the same code, reducing dependence on one operating system, provider, or runtime implementation. section 8.1

The gray area of platforms

Salesforce illustrates the ambiguity between buying and building: its prebuilt ecosystem may satisfy organizational needs, while its development environment can also create substantial platform dependence. Portability should therefore be tested before major customization. section 8.2.3

How Think Like a CTO covers it

How deep it goes
Defines lock-in, explains its cost trade-offs, and applies a portability test; it stops short of prescribing a migration plan.
Examples
Uses obsolete Flash administration software, Java portability, and Salesforce customization to expose dependence and escape options.
What it assumes
Assumes familiarity with vendors, platforms, software licensing, operating systems, and buy-versus-build decisions.
What you can do after
Evaluate technology choices by testing portability, licensing exposure, downtime consequences, and the cost of preserving alternatives.
How it connects
Connects technology decisions with portability, buy versus build, licensing, platforms, operating systems, and virtual machines.

Also explained in

Compare how 4 books explain vendor lock-in →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Think Like a CTO. The section links point to the parts of the book it draws on.