【アーキテクチャ アンチパターン】Vendor lock-in

どんな問題?

ベンダーロックイン(英: vendor lock-in)とは、特定ベンダー(メーカー)の独自技術に大きく依存した製品、サービス、システム等を採用した際に、他ベンダーの提供する同種の製品、サービス、システム等への乗り換えが困難になる現象のこと。
ベンダーロックインに陥った場合、製品、サービス、システム等を調達する際の選択肢が狭められる。
価格が高騰してもユーザーはそれを買わざるを得ないため、コストが増大するケースが多い。
また、市場の競争による恩恵を十分に受けられない可能性もある。

情報システムの開発・構築を曖昧な仕様でベンダーに発注した場合、出来上がった情報システムの正確な仕様が、システムを開発・構築したベンダーにしか解らなくなる場合がある。
結果、システムの保守・拡張・改修等の際、現存システムを開発・構築したベンダーに引き続き発注せざるを得なくなる。

ソフトウエアによるベンダーロックインの身近な例としては、オペレーティングシステム並びにオフィススイート市場で圧倒的なシェアを持つマイクロソフト社のMicrosoft WindowsMicrosoft OfficeWindows Media PlayerInternet Explorerによるそれが挙げられる。
これらは独占禁止法に違反するとして度々訴訟の原因となっている。

https://ja.wikipedia.org/wiki/%E3%83%99%E3%83%B3%E3%83%80%E3%83%BC%E3%83%AD%E3%83%83%E3%82%AF%E3%82%A4%E3%83%B3

どう解決する?

この解決法により以下の状況にも対応できる.

  • インフラ層の変更があるとき
  • もっと使いやすいなプログラミングインターフェースが欲しいとき
    • インフラ層の抽象化層はプリミティブすぎたり柔軟すぎることがある

f:id:yusuke_ujitoko:20161127224048p:plain