マイクロサービスって何?
昔ながらのシステムは、全機能を1つの「モノリス」に詰め込みます。一か所触れば全体が揺れる。マイクロサービスは逆で、システムを小さな独立サービスに分けます。それぞれが1つの仕事——「ユーザーサービス」「チャットサービス」「ベクトル検索サービス」——を担い、個別に開発・デプロイ・拡張します。なぜAIシステムと相性が良い?
AIの部品はそれぞれ大きく違うモデル推論、データ整形、フロントのAPIでは、必要な計算力も技術スタックも違います。分ければ個別に最適化できます。
独立してスケールできる
推論が重いなら推論だけにマシンを足す。全体を丸ごと拡張する必要はありません。
故障を隔離できる
1つのサービスが落ちても他は動き続ける。アプリ全体が一緒に落ちることはありません。
代償は?
複雑さが増すサービスが増えれば、ネットワーク呼び出し、ログ、監視、サービス検出も増えます。運用ははっきり難しくなります。
整合性が難しくなる
データが各サービスに分散するので、サービスをまたぐ操作は注意が必要。モノリスのように一括処理はできません。
いつ使う?
チームが大きくなり、結合が強まり、独立した拡張や頻繁なリリースが必要になったら、マイクロサービスは報われることが多い。でも小さなプロジェクトで人数も少なければ、シンプルに保つのが得策かもしれません。まとめ:マイクロサービスは「象を小さな箱に分けて入れる」こと。各サービスは小さく独立していて、1つ壊れても全体は沈まず、1つ直すのに全体再デプロイは不要です。
コメント