「マイクロサービスアーキテクチャ」を読んだ

「マイクロサービス」というのに興味はあるけど、いざ採用するにあたって実際にどういうことを考えないといけないのか、というのを知りたかったので読んだ。

マイクロサービスアーキテクチャ

マイクロサービスアーキテクチャ

最初の方に「マイクロサービスアーキテクチャを採用する利点」が説明されつつ、念を押すように「これは銀の弾丸などではない」ということが書かれている。最近読んだマイクロサービス関連のエントリとか、マイクロサービスアーキテクチャで苦労してそうな人を(インターネットで)見かける度に「やはり興味本位で手を出してはいけない分野なのだろうな」と考えてはいたのだけど、その記述を読んで、改めて大変な道なんだなと考えさせられた。

内容としては、マイクロサービスアーキテクチャに関するいくつかのトピックがユースケースと共に説明されている。読む前は、各サービス間をどのように統合するかとか、モノリシックなアプリケーションをどのように分割するかということを知りたかったのだけど、それ以外にもデプロイとかテストの話や、どのようにチームを構成するのがいいのか、みたいな内容が書いてあって「マイクロサービス」の雰囲気を掴むには良い本だと思った。

個人的にはテストについて書かれている部分が良かった。以前、(今ほどその言葉流行していなかったけど)あれはマイクロサービスアーキテクチャの一部だったな、と思えるような仕事をしていたことがあって、その時に統合テストで困ることが多かった(結局E2Eテストみたいなのをやることになって、テストシナリオはとにかく膨大で大変だった)のだけど、この本にはどのようなテストが必要なのかや、どのようにしてテストを書くか、誰がテストを書くかみたいなことが説明されている。本を読むまではコンシューマ駆動テストというのは知らなかったのだけど、本ではPactとかPacto(名前が似てて紛らわしい)の紹介がされていて学びがあった。

テスト以外にも、マイクロサービスアーキテクチャを採用/運用していく上で考えておくべきことがざっと書いてあってなるほどなあという感じだった。読んでみたら、以前携わった仕事についても「こうすればよかった」というのが結構出てきたので、改めて挑戦する時がきたら参考にできるといい。