💻 ITパスポート | テクノロジ系

マイクロサービスとは?

アプリケーションを「小さな独立したサービス」の集まりとして設計するアーキテクチャ。各サービスは独立して開発・デプロイ・スケールができる。

🎬 こんなシーンを想像
大手ECサイトのDさんのチーム。「商品検索」の機能を改修する際、昔は全機能が一体になったシステムを全部テストしてリリースしていた。今は「検索サービスだけ」を改修して独立リリースできる。
…これがマイクロサービスが生んだ「独立して動かせる」世界。
🏗️ モノリシック vs マイクロサービス モノリシック 商品検索 注文管理 決済 ユーザー管理 全部がくっついている 1つ直すと全体リリース マイクロサービス 商品検索 注文管理 決済 ユーザー 各サービスが独立 APIで連携 1つだけ更新可能
✅ マイクロサービスの主な利点
① 独立デプロイ(部分リリース)
「決済サービスだけ更新」が可能。全体を止めなくていいので、リリース頻度を上げられる。継続的デリバリー(CD)と相性が良い。
② 障害の局所化(影響範囲を絞る)
「注文サービス」が落ちても「商品検索」は動き続ける。モノリシックなら全体が止まる。
③ 独立スケール(必要な部分だけ増強)
「決済サービスだけ」繁忙期にサーバーを増やせる。全体を増強する無駄がない。コスト効率が高い。
⚠️ ひっかけ注意ポイント
モノリシックアーキテクチャと混同する
モノリシックは「全機能が一体のアプリ」。マイクロサービスは「機能ごとに独立した小サービスに分割」。正反対の設計思想。
マイクロサービスは常に優れている?
小規模システムでは複雑になりすぎて逆にコストがかかる。「サービス間の通信管理・監視・テスト」が増える。大規模・頻繁な変更が必要な場合に効果的。
コンテナ・DockerとAPIの混同
マイクロサービスはアーキテクチャの設計思想。コンテナ(Docker)はそれを実現する技術の一つ。「マイクロサービス=Docker」ではない。
SOA(サービス指向アーキテクチャ)との混同
SOAもサービスに分割する考え方だが、マイクロサービスはより小さく・軽量・独立性が高い。SOAは大きめのサービス単位で分割する。
🧠 覚え方(無理やりゴロ)
マイクロサービス = マイ(自分だけの)クロ(小さい)サービス
マイ(自分)の小っちゃいサービスが集まって一つのアプリ
小さい・独立・バラバラ → これがマイクロサービス

モノリシック=大きな一枚岩 / マイクロ=小石の集まり
ITパスポート 詳細解説 / HTML+SVG(文字はすべてテキスト=検索エンジンが読める)