エンタープライズアーキテクチャ・システム企画
午前II午後I午後II論文
重要度:
マイクロサービスアーキテクチャ
よみがな: まいくろさーびすあーきてくちゃ
英語名称・略称: Microservices Architecture
1行要約(本質)
単一の巨大システム(モノリス)を分割し、独立して配備可能な小さなサービス群をAPIで疎結合連携させる設計思想。
3つの重要ポイント
1
各サービスが独自のDBを持ち、異なる技術スタックや個別スケーリング、独立リリースが可能となる。
2
一部サービスの障害がシステム全体に波及するのを防ぎ、障害耐性と変更俊敏性を飛躍的に高める。
3
ITストラテジストは、サービス境界の設計(ドメイン駆動設計)と、運用複雑性・データ整合性の課題を統御する。
構造・プロセスの図解
図モノリス(巨大一体型) vs マイクロサービス(独立分散型)
変更容易性とスケーラビリティの決定的な違いモノリス(単一巨大システム)硬直・高リスク
密結合・単一巨大DB
1つの修正で全体テスト・停止が必要。一部のバグでシステム全停止。スケールアウトも全体単位で高コスト。
マイクロサービス俊敏・耐障害性
疎結合・独立DB・個別API
サービス単位で独立リリース&個別スケール。障害を局所隔離。チームごとに最適な言語・技術を選定可能。
概要・背景・本質
マイクロサービスは、レガシーモノリスが抱える「1箇所を改修すると全体をテスト・再デプロイしなければならない」「ビルドに何時間もかかる」という硬直性を打破します。コンテナ(Docker/Kubernetes)とCI/CDパイプラインを前提とし、小規模チームが各サービスを自律的に高速改善できる組織構造(コンウェイの法則の適用)を可能にします。
コア概念と着眼点
- 疎結合と高凝集:ビジネスドメイン(注文、決済、配送、商品)ごとにサービスを分割
- 独立したデータストア:1サービス1DBの原則。他サービスはAPI経由でのみデータにアクセス
- トレードオフ(短所):分散トランザクションの難しさ(結果整合性の許容)、ネットワーク遅延、監視運用の複雑化
- API Gatewayとサービスメッシュ:サービス間の通信暗号化、ルーティング、オブザーバビリティの確保
ITストラテジスト試験(午後I記述・午後II論文)での論述ポイント
午前IIで「マイクロサービスの特徴(独立デプロイ、個別スケーリング、サービス間API連携)」が出題される。午後II小論文では、モノリス基幹システムの刷新において『ストラングラーパターンを用いて決済機能からマイクロサービス化し、新機能のリリース期間を3ヶ月から1週間に短縮した』と論述できる。