マイクロサービス・サーバレス

クラウドネイティブの主要アーキテクチャを学びます。

クラウドネイティブ時代の代表的アーキテクチャ。マイクロサービスとサーバレスの特徴を理解しましょう。

日野 こむぎ(普段) 日野 こむぎ

マイクロサービスってよく聞くけど、何が「マイクロ」なの?

藤森 さやか 先生(笑顔) 藤森 さやか 先生

アプリケーションを「小さなサービスの集合」として構築する設計よ。
マイクロサービスアーキテクチャは、対になるモノリシック (一枚岩) と比べて理解するのがいいわね。

青木 澪(普段) 青木 澪

補足すると、モノリシックは1つの大きなアプリ。
マイクロサービスは「ユーザ管理」「商品」「注文」「決済」のように独立したサービスへ分割するの。
各サービスは独立にデプロイ・スケールでき、障害も分離できるのよ。

桃井 すみれ(普段) 桃井 すみれ

じゃあ、サーバレスは何が違うんですかぁ?

青木 澪(普段) 青木 澪

サーバレス (Serverless) はサーバ管理を意識しない設計。
実際にはクラウドにサーバはあるけど、開発者は「関数」だけを書けば、リクエストに応じて自動実行・自動スケールしてくれるの。

藤森 さやか 先生(普段) 藤森 さやか 先生

代表的なサーバレス基盤: AWS Lambda (AWS)、Azure Functions (Microsoft)、Cloud Functions (Google)、Cloudflare Workers など。
これらをFaaS (Function as a Service) と呼ぶわ。

青木 澪(普段) 青木 澪

両者の関係を整理すると、マイクロサービスをサーバレスで実装することも多いの。
スケーラビリティ・コスト効率・運用負荷の削減が魅力ね。
デメリットはコールドスタート・ベンダロックイン・複雑な分散デバッグといったところかしら。

日野 こむぎ(笑い) 日野 こむぎ

今どきのWebサービスって、こういう仕組みで動いてるんだね!
あたし、めっちゃ興味出てきた!

確認クイズ

サーバの管理を意識せず、関数 (コード) だけを書けばクラウドが自動実行・自動スケールするアーキテクチャはどれか。

  1. モノリシック
  2. マイクロサービス
  3. サーバレス (FaaS)
  4. メインフレーム
こたえを見る

正解: 3. サーバレス (FaaS)

サーバレス (FaaS) はサーバ管理不要、関数単位でデプロイ。AWS Lambda、Azure Functions、Google Cloud Functions が代表的。コールドスタートに注意ですが、運用負荷削減とコスト効率に優れます。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。