#280
インタラクション・アニメーション
#280まいくろさーびす
マイクロサービス
別名・表記:MicroservicesMicroservice Architecture
UIXHERO Definition
「小さな部品の集まり」。巨大なシステムを、機能ごとの小さなプログラムに分割して連携させること。
概要
「一つのことを上手に行う(Do one thing well)」というUnix哲学をシステム全体に適用したもの。 各サービスは独立してデプロイ可能であり、異なる言語や技術スタックを採用することもできる(Polyglot)。
UXでの活用
- 部分的な障害: 一つのサービス(例:おすすめ機能)がダウンしても、他のサービス(例:動画再生)は動き続けることができるため、UXへの悪影響を最小限に抑えられる(Graceful Degradation)。
- 高速な改善: UI/UXの変更が必要なサービスだけを修正して即座にデプロイできるため、ユーザーへの価値提供のスピードが上がる。
💡 使いどころ
システムが巨大化しすぎて、変更の影響範囲が予測できなくなったり、デプロイに時間がかかりすぎるようになった時。組織(チーム)の規模が大きくなり、独立して動く必要が出てきた時。
⚠️ 注意点・誤用
分散システム特有の複雑さ(ネットワーク遅延、整合性の担保、障害追跡)が激増する。組織的な準備(DevOps文化など)なしに導入すると、「分散モノリス」という最悪の結果を招く。UX的には「障害時に全部壊れる」。
具体例
- Netflix(数千のマイクロサービスで構成されている)
- Uber(配車、決済、通知などが別々のサービス)
出典・参考文献:
- Newman, S. (2015). Building Microservices. O’Reilly Media.
- Fowler, M., & Lewis, J. (2014). Microservices: a definition of this new architectural term. martinfowler.com.
- Bass, L., Weber, I., & Zhu, L. (2015). DevOps: A Software Architect’s Perspective. Addison-Wesley.
関連する解説記事
関連する記事詳細が見つかりませんでした。