クラウドネイティブとマイクロサービス|ITパスポート試験対策
クラウドネイティブの概念、マイクロサービスとモノリスの違い、API・コンテナとの関係をITパスポート試験向けに整理します。
クラウドネイティブとは
クラウドネイティブとは、クラウドコンピューティングの利点を最大限に活用するためのアプリケーション設計・開発手法です。単に既存のシステムをクラウド上に移行するのではなく、クラウド環境を前提としてアプリケーションを設計します。この考え方の標準化はCNCF(Cloud Native Computing Foundation)が推進しています。
クラウドネイティブの 4 つの要素
クラウドネイティブを構成する要素として、コンテナ、マイクロサービス、動的オーケストレーション、DevOps・CI/CDの4つが挙げられます。コンテナは実行環境の差異を排除する技術であり、仮想化・コンテナ・Dockerで詳しく解説しています。動的オーケストレーションではKubernetesを用いて自動的にコンテナを配置し、DevOpsとはで扱う自動デプロイを実現します。
モノリス vs マイクロサービス
| 観点 | モノリス(一枚岩) | マイクロサービス |
|---|---|---|
| 構造 | 単一の大きなアプリ | 小さな独立サービス群 |
| 通信 | 内部関数呼出 | API(HTTP/REST、gRPC) |
| デプロイ | 全体一括 | サービスごとに独立 |
| 拡張 | アプリ全体をスケール | 必要なサービスだけ |
| 障害 | 全体停止リスク | 影響範囲を限定 |
| 開発 | チーム間調整必要 | 並行開発可能 |
マイクロサービスのメリット
マイクロサービスの最大のメリットは、サービスごとに独立してデプロイできる点です。一部の修正が全体に影響を及ぼさないため、リスクを抑えながら頻繁な更新が可能です。サービスごとに最適なプログラミング言語やデータベースを選択できる自由度があり、負荷の高い部分だけを拡張する効率的なスケーラビリティも実現します。1つのサービスが障害を起こしてもシステム全体が停止するリスクは限定的です。
マイクロサービスのデメリット
一方で、マイクロサービスには複雑性が増すという欠点があります。サービス間の通信や分散トランザクションの管理が必要になり、監視やログの集約といった運用の負担も大きくなります。分散環境でのデータ整合性の確保も、技術的に難しい課題です。
API とマイクロサービス
マイクロサービス間の連携にはAPIが基本です。代表的なAPIとして、HTTPベースで最も普及しているREST API、必要なデータのみを取得できるGraphQL、Googleが開発した高速なバイナリ通信を実現するgRPCがあります。
サーバレス(FaaS)
サーバレスコンピューティングの代表格がFaaS(Function as a Service)です。関数単位でクラウドに実行を委ねる方式で、インフラ管理が不要になり、実行した分だけ課金されます。代表的なサービスとしてAWS LambdaやGoogle Cloud Functionsがあります。
ITパスポート試験での出題ポイント
ITパスポート試験では、クラウドネイティブの4つの要素を問う問題が頻出です。モノリスとマイクロサービスの違い、マイクロサービスのメリットとして独立デプロイや耐障害性が挙げられる点も押さえておきましょう。APIやコンテナとの関係性も出題範囲です。
過去問の典型パターン
- 「マイクロサービスアーキテクチャの特徴として正しいものはどれか」型
- 「サービス間通信に使われる技術はどれか」型 → API
関連用語
- 仮想化・コンテナ(仮想化・コンテナ・Docker)
- DevOps(DevOpsとは)
- SaaS/PaaS/IaaS(SaaS・PaaS・IaaSの違い)
学習のコツ
クラウドネイティブの4要素(コンテナ、マイクロサービス、オーケストレーション、DevOps)を確実に覚えましょう。モノリスは一枚岩、マイクロサービスは細分化された独立サービスという対比で理解すると整理しやすいです。サービス間通信の鍵となるAPIの役割も重要です。
まとめ
クラウドネイティブの4要素と、モノリスとマイクロサービスの違いを押さえれば、関連問題で得点できます。テクノロジ系をさらに演習したい場合はテクノロジ系まとめをご確認ください。本番形式の対策には模擬試験をご活用ください。