一言でいうと
大きなシステムを、小さな独立した部品に分けて作る方法です。それぞれの部品が自分の仕事に集中しながら、一緒に動いて大きな機能を実現します。
もう少し詳しく
マイクロサービスを、レストランの仕事に例えると分かりやすいです。
昔のやり方(モノリシック)では、1人のスタッフがすべてをやります。注文を聞いて、料理をして、配膳して、会計もします。その人が休むと、お店全体が動きません。
マイクロサービスは違います。注文担当者、調理担当者、配膳担当者、会計担当者と、それぞれが別の役割を持ちます。1人が休んでも、ほかの担当者がいるので、お店は動き続けられます。
ウェブサービスも同じです。「ユーザー管理」「商品検索」「支払い処理」など、機能ごとに独立したプログラム(サービス)に分けます。これにより、修理や更新が必要な時も、その部分だけを直せばいいのです。
よく使われる場面
エラーログサイトで「マイクロサービスが落ちている」というエラーメッセージを見かけたら、それは分割された小さなサービスの1つが動かなくなったということ。全体がダウンするのではなく、その機能だけが使えない状態になります。
関連する言葉
- モノリシック:全ての機能が1つの大きなプログラムに入っている方式
- API(アプリケーション・プログラム・インターフェース):異なるプログラム同士が情報をやり取りする仕組み
- クラウド:インターネット上でサービスを提供する環境