3章モノリスの分割

本書を読んでいる人の多くは、自分のシステムの設計に関して白紙状態ではないでしょう。また、たとえ白紙状態だったとしても、1章で説明した理由から、マイクロサービスから始めるのは良いアイデアとは言えないでしょう。多くの人は、すでに既存システム(おそらく、何らかのモノリシックアーキテクチャ形式)を持っており、その既存システムをマイクロサービスアーキテクチャに移行したいと考えているでしょう。

本章では、マイクロサービスアーキテクチャへの移行を進めるのに役立つ最初の手順、パターン、一般的なヒントの概要を説明します。

3.1 目標を持つ

マイクロサービスは、目標ではありません。マイクロサービスを持っているからといって、「勝利」したわけではありません。マイクロサービスアーキテクチャの採用は、意識的な判断(合理的な意思決定を基にした判断)であるべきです。現在のアーキテクチャで、最終目標に近づく簡単な方法が見つからない場合にだけ、マイクロサービスアーキテクチャへの移行を考えるべきです。

達成したいことを明確に理解しないと、行動と結果を混同するという罠に陥ることがあります。理由も尋ねずに、マイクロサービスの作成に執着していたチームを、私は目にしたことがあります。マイクロサービスがもたらす新たな複雑さの要因を考えると、これは非常に問題です。

最終目標ではなくマイクロサービスに固執してしまうと、求めている変更を行える他の方法を選択肢から除外してしまうことになります。例えば、マイクロサービスはシステムをスケールさせるのに役立ちますが、多くの場合、まず検討すべき別のスケーリングテクニックが数多くあります。ロードバランサの背後にある、既存のモノリシックシステムのコピーをいくつか起動するだけで、複雑で時間のかかるマイクロサービスに分解するよりずっと効率的に、システムをスケールさせられるでしょう。 ...

Get マイクロサービスアーキテクチャ 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.