クラウドネイティブ時代の代表的アーキテクチャ。マイクロサービスとサーバレスの特徴を理解しましょう。
マイクロサービスってよく聞くけど、何が「マイクロ」なの?
アプリケーションを「小さなサービスの集合」として構築する設計よ。
マイクロサービスアーキテクチャは、対になるモノリシック (一枚岩) と比べて理解するのがいいわね。
補足すると、モノリシックは1つの大きなアプリ。
マイクロサービスは「ユーザ管理」「商品」「注文」「決済」のように独立したサービスへ分割するの。
各サービスは独立にデプロイ・スケールでき、障害も分離できるのよ。
じゃあ、サーバレスは何が違うんですかぁ?
サーバレス (Serverless) はサーバ管理を意識しない設計。
実際にはクラウドにサーバはあるけど、開発者は「関数」だけを書けば、リクエストに応じて自動実行・自動スケールしてくれるの。
代表的なサーバレス基盤: AWS Lambda (AWS)、Azure Functions (Microsoft)、Cloud Functions (Google)、Cloudflare Workers など。
これらをFaaS (Function as a Service) と呼ぶわ。
両者の関係を整理すると、マイクロサービスをサーバレスで実装することも多いの。
スケーラビリティ・コスト効率・運用負荷の削減が魅力ね。
デメリットはコールドスタート・ベンダロックイン・複雑な分散デバッグといったところかしら。
今どきのWebサービスって、こういう仕組みで動いてるんだね!
あたし、めっちゃ興味出てきた!
確認クイズ
サーバの管理を意識せず、関数 (コード) だけを書けばクラウドが自動実行・自動スケールするアーキテクチャはどれか。
- モノリシック
- マイクロサービス
- サーバレス (FaaS)
- メインフレーム
こたえを見る
正解: 3. サーバレス (FaaS)
サーバレス (FaaS) はサーバ管理不要、関数単位でデプロイ。AWS Lambda、Azure Functions、Google Cloud Functions が代表的。コールドスタートに注意ですが、運用負荷削減とコスト効率に優れます。