年末年始の休暇を生かして以下の一冊を読み切りました。
モノリスからマイクロサービスへ ―モノリスを進化させる実践移行ガイド
- 作者:Sam Newman
- 発売日: 2020/12/26
- メディア: 単行本(ソフトカバー)
自分の立場
雑にいうとマイクロサービスを作るぞ!と言われてそうなんだーくらいのテンションでいたのですが、徐々に本格的に理解しないといけなそうなので読み始めた、という感じです。本書で訳もわからずセミナーに参加された社員が登場しますが、あれに似ています。
モノリスとは、マイクロサービスとは
デプロイを一緒にする必要があればモノリスだ、というふうに定義されています。 逆に、独立してデプロイできればそれはマイクロサービスといえます。
そう思ってこれまでの経験を振り返ると、やっぱりモノリスよりも(あまり細かくない)マイクロサービスの方が、開発者にとっては扱いやすいのではという気になります。
何度も確認されること
前半で何度も確認されるのは、「本当にマイクロサービスにしますか?モノリスでもいいんじゃないんですか?」ということです。いきなりアプリケーションもDBも割ると大体うまくいかないですよと強調されています。
何度も勧められること
小さく試して、失敗しても戻せるようにしようねということです。それには、そこそこ深い検討と念入りな準備が必要です。
細かい手法は忘れましたが、どういう姿を目指しますが、どういう手順でそれに向かっていきますか、という話がいくつかあり、参考になります。
トランザクション
それでもマイクロサービスやりますか?と何度も聞かれるのにYESと答え続けるとDB分割の問題に直面します。 たくさん問題がありますよというイントロなトピックで終わります。
ざっくりいうと、分散トランザクションをやめ、原子性を諦めるサーガを使いましょうと言っています。
終わりに
各ドメインへの理解が大事ですよとも書かれています。自分が担当しているシステムや、その利用者にあたるシステムの動きについて、もっとガッツリ情報をインプットしていこうかなと思いました。
架空の企業の話もありますが、7割くらいは実際の企業での取り組みが挙げられているので、話が入ってきやすいです。