2024/09/16 17:54 Monolith First (2015)

博士、ただいま戻りました!今日のミーティングで聞いた新しい...あれ?博士?

お、おかえり、ロボ子...ちょっと小さな事故があってな...

もう、また何かこぼしたんですか?今度は何です?コーヒー?エナジードリンク?

い、いや...今回は違うんじゃ...実はな...

まさか...ラムネですか?前にも言いましたよね、炭酸飲料は絶対にPC付近で開けちゃダメだって

違うんじゃ!今回はな...マイクロサービスなんじゃ...

え?マイクロサービス?どういうことですか?

実はな、最新のマイクロサービスアーキテクチャの本を読んでいたら、つい興奮して...

まさか、本を広げすぎてキーボードの上に落としたとか?

いや...もっと悪いんじゃ...マイクロサービスの図を描こうと思って、ホワイトボードマーカーでキーボードに直接書いてしまったんじゃよ...

えぇ!?博士、それはさすがに...

わかっておる...つい熱中してしまってな...

(ため息) はぁ...わかりました。じゃあ、その話を聞かせてください。そんなに熱中するほど面白いマイクロサービスの話とは?

おお!さすがロボ子!そうじゃ、実はな...

マイクロサービスアーキテクチャの成功事例のほとんどが、実は大規模化したモノリスを分割したものなんじゃ!

へぇ、意外ですね。最初からマイクロサービスで設計したわけじゃないんですか?

そうなんじゃ。むしろ、最初からマイクロサービスで構築すると、深刻な問題に直面することが多いんじゃよ

なるほど...でも、なぜそうなるんでしょう?

それはな、"MicroservicePremium"というものがあるからじゃ

MicroservicePremium?なんだか高級そうな響きですね

ふふふ、高級どころか高くつくんじゃよ。マイクロサービスには大きなコストがかかるんじゃ

そうなんですか...じゃあ、どうすればいいんですか?

そこでじゃ、"モノリスファースト"という戦略が推奨されるんじゃ

モノリスファースト...最初はモノリスで作るってことですか?

その通り!初期段階では単純なバージョンで有用性を確認する必要があるんじゃ。これは"Yagni原則"とも呼ばれておる

Yagni...You Aren't Gonna Need Itですよね。必要になるまで作らないってことですか

さすがロボ子!その通りじゃ。それに、サービス間の適切な境界を見つけるのが難しいんじゃよ

なるほど...でも、いずれはマイクロサービスに移行するんですよね?

うむ、その時にはいくつかのアプローチがあるんじゃ。例えば...

わかりました。でも博士、結局のところ、モノリスとマイクロサービス、どちらが正解なんでしょうか?

うむ、正解は一つじゃないんじゃよ。プロジェクトの規模や要件、チームの経験によって最適な方法は変わってくるんじゃ

そうですよね。ケースバイケースということですね

その通りじゃ。大切なのは、プロジェクトの特性をよく理解し、適切なアプローチを選択することじゃ

なるほど...博士、私たちも次のプロジェクトでマイクロサービスを採用してみませんか?

おっと、そう急ぐでない。まずは小さなモノリスから始めて、徐々に進化させていくのが賢明じゃよ

えー、つまらないです...

ふふふ、焦るでない。マイクロサービスは魅力的じゃが、それだけに落とし穴も多いんじゃ。慎重に進めていこう

はい、わかりました。でも、いつかは大規模なマイクロサービスシステムを作ってみたいです!

その意気や良し!その日が来るまで、しっかり勉強するんじゃぞ

はい、頑張ります!...あれ、博士?

ん?どうしたんじゃ?

博士、またキーボードに何か書いてますよ...

わわわ!こ、これは違うんじゃ!今度はマイクロサービスの境界線を...

(ため息) はいはい、わかりました。新しいキーボード、注文しておきますね

す、すまんのう...マイクロサービスの話に夢中になって...

もう、博士ったら。マイクロサービスよりも、まずは自分のサービスを改善しましょうよ

ぐぬぬ...その通りじゃ。反省しておる...

でも、博士の熱意は伝わりましたよ。次は、ホワイトボードを使いましょうね

うむ...そうじゃな。ところで、ロボ子

はい、なんですか?

キーボードに耐水・耐インク機能をつけたマイクロサービス、作れないかのう?

もう!博士ったら...
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。