マイクロサービスアーキテクチャ
Microservices Architecture
まいくろさーびすあーきてくちゃ
アプリケーションを、業務の機能ごとに独立して開発・配備・拡張できる小さなサービスの集まりとして構成するアーキテクチャ。サービスどうしはAPIで通信し、それぞれが自分のデータを持つ。サービスごとに更新や拡張ができる一方、サービス間の通信の遅延や障害、分散したデータの整合性の管理が課題になる。
Related
他の資格での定義
システムを、独立して開発・配置できる小さなサービスの集まりとして構成する方式。サービス単位で改修や増強ができる一方、サービス間の通信やデータの整合性の管理は複雑になる。
システムを独立して開発・デプロイ可能な小さなサービスの集合として構築するアーキテクチャ。各サービスはAPIを介して通信し、個別にスケーリングや更新が可能。サービスメッシュやサーキットブレーカーで障害耐性を確保する。
アプリケーションを独立してデプロイ可能な小さなサービスの集合として構築するアーキテクチャスタイル。各サービスが独立して開発・デプロイでき、スケーラビリティと保守性が向上する。モノリシックアーキテクチャと対比される。
アプリケーションを小さな独立したサービスの集合として構築するアーキテクチャスタイル。各サービスは独自のデータストアを持ち、APIを通じて通信する。独立した開発・デプロイ・スケーリングが可能だが、分散システムの複雑さが増す。
アプリケーションを、業務の機能ごとに独立して開発・デプロイ・拡張できる小さなサービスの集まりとして構成するアーキテクチャ。各サービスはAPIで通信し、それぞれ別のデータストアを持つことが多い。変更や規模の拡大に柔軟に対応できる一方、分散システムとしての運用や整合性の確保が難しくなる。
Past Exams
過去問での出題
過去問で 4 回出題(システムアーキテクト試験 2・応用情報技術者試験 1・エンベデッドシステムスペシャリスト試験 1)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化するオーケストレーションプラットフォーム。Pod、Service、Deployment等のリソースを宣言的に管理し、クラウドネイティブアプリケーションの基盤として広く利用される。
Webサービスの設計原則の一つ。HTTPメソッド(GET、POST、PUT、DELETE等)を用いてリソースを操作する。ステートレス性、統一インタフェース、リソースの識別可能性などの制約に従うことで、シンプルで拡張性の高いAPI設計を実現する。
DockerやKubernetesなどのコンテナ技術を利用した開発・実行環境におけるセキュリティ対策。コンテナイメージの脆弱性スキャン、信頼できるベースイメージの使用、実行時の権限制限、ネットワークポリシーの設定、イメージ署名による改ざん検知などが含まれる。
クラウド上のアプリケーションやデータを、別のクラウド事業者の環境やオンプレミスへ、大きな作り直しをせずに移せる性質。特定の事業者の独自サービスに強く依存すると移行が難しくなる(ベンダーロックイン)ため、コンテナ、Kubernetes、IaC、標準的なデータ形式の採用で移しやすさを確保する。
システムやソフトウェアの構成要素どうし、また外部のシステムや利用者との間でやり取りする情報の内容、形式、手順、タイミングなどを定める設計。インタフェースを先に固めておくと、構成要素を並行して開発でき、結合時の不整合も減らせる。
自社の機能やデータをAPIとして外部に公開し、他社のサービスと組み合わせることで生まれる経済圏。地図や決済のAPIを組み込んで新しいサービスを短期間で作れるようになる。
