マイクロサービス
Microservices/まいくろさーびす
ひとことで言うと
1つの大きなアプリを、役割ごとの小さなサービスに分けて作る設計の考え方です
📖 もうちょい詳しく
何が新しいの?
昔は、1つのアプリの機能をぜんぶ1かたまりのプログラムにまとめて作ることが多くありました。これを「モノリス(一枚岩)」と呼びます。ただ、サービスが大きくなると、ほんの少しの修正でも全体に影響が出やすく、手を入れづらくなっていきます。そこで、アプリを役割ごとの小さな部品に分けて作ろう、という考え方が広まりました。それがマイクロサービスです。
どうやって動いてるの?
たとえば通販サイトなら、「会員管理」「商品検索」「決済」「お知らせメール」といった機能を、それぞれ独立した小さなプログラム(サービス)として動かします。各サービスは別々に動いていて、おたがいに API(プログラム同士が決まった形でやりとりする窓口)を通して連絡を取り合います。1つひとつが独立しているので、別々のチームが別々の言語や仕組みで作ってもかまいません。
何ができるの?
ある機能だけを直したいとき、その小さなサービスだけを更新できます。全体を止めずに済むことが多く、アクセスが集中する機能だけを増強する、といったことも個別にできます。大きなサービスを少しずつ育てていきたい場面で力を発揮します。
🌱 身近なたとえ
お店の運営で例えると分かりやすいです。1人が「受付・調理・会計・配達」をすべて担当していると、どこか1つでつまずくと全部が止まってしまいます。マイクロサービスは、これを「受付係」「調理係」「会計係」のように担当を分けたイメージです。会計のやり方を変えたいときも、会計係だけに伝えればよく、他の係はいつもどおり働き続けられます。
✅ まず覚えるポイント
- アプリを「役割ごとの小さなサービス」に分けて作る設計の考え方
- 各サービスは独立して動き、API を通してやりとりする
- 一部だけを直したり増強したりしやすい
- サービスごとに別の言語・別の仕組みを使ってもよい
- 反対の作り方は「モノリス(1かたまりにまとめる)」
🧭 よくある勘違い
サービスは小さければ小さいほどいいの?
そうとは限りません。細かく分けすぎると、サービス同士の連絡が増えて、かえって管理が大変になることがあります。「どこで区切ると扱いやすいか」を考えて、ほどよい大きさに分けることが大切です。
マイクロサービスにすれば何でも速くなるの?
速くなるとは限りません。サービスをまたいだやりとりはネットワーク越しになるため、1かたまりの中で処理するより時間がかかる場合もあります。マイクロサービスは「速さ」より「直しやすさ・育てやすさ」のための工夫だと考えるとしっくりきます。
小さなアプリでもマイクロサービスにすべき?
無理に分ける必要はありません。規模が小さいうちは、1かたまりで作ったほうがシンプルで管理も楽なことが多いです。チームや機能が増えてきたタイミングで検討するのが一般的です。
🧩 関連して覚えると楽な言葉
- API: サービス同士が決まった形でやりとりするための窓口。マイクロサービス間の連絡に欠かせません
- コンテナ(container): 各サービスを箱詰めして手軽に動かす技術。マイクロサービスと相性がよいです
- スケーラビリティ(scalability): アクセス増加に耐える力。機能ごとに個別に増強できる利点と関わります
- サーバーレス(serverless): サーバー管理を任せて小さな処理単位で動かす方式。分割した運用と考え方が近いです
🏁 ひとことでまとめ
大きな1つのプログラムを、役割ごとの小さな独立した部品に分けて作る——それがマイクロサービスです。手を入れやすく、育てやすい形を目指す考え方です。
TERM SEARCH
ほかの用語を調べる
検索ボックスを準備中…