一言でいうと

大きなシステムを、小さな独立した部品に分けて作る方法です。それぞれの部品が自分の仕事に集中しながら、一緒に動いて大きな機能を実現します。

もう少し詳しく

マイクロサービスを、レストランの仕事に例えると分かりやすいです。

昔のやり方(モノリシック)では、1人のスタッフがすべてをやります。注文を聞いて、料理をして、配膳して、会計もします。その人が休むと、お店全体が動きません。

マイクロサービスは違います。注文担当者調理担当者配膳担当者会計担当者と、それぞれが別の役割を持ちます。1人が休んでも、ほかの担当者がいるので、お店は動き続けられます。

ウェブサービスも同じです。「ユーザー管理」「商品検索」「支払い処理」など、機能ごとに独立したプログラム(サービス)に分けます。これにより、修理や更新が必要な時も、その部分だけを直せばいいのです。

よく使われる場面

エラーログサイトで「マイクロサービスが落ちている」というエラーメッセージを見かけたら、それは分割された小さなサービスの1つが動かなくなったということ。全体がダウンするのではなく、その機能だけが使えない状態になります。

関連する言葉

  • モノリシック:全ての機能が1つの大きなプログラムに入っている方式
  • API(アプリケーション・プログラム・インターフェース):異なるプログラム同士が情報をやり取りする仕組み
  • クラウド:インターネット上でサービスを提供する環境