進化的アーキテクチャを読んでみて、いくつかこころに残った言葉があるので書き留めておく。あくまで主観を書くので、本の内容など詳しく知りたい方は、実際の書籍を参照してください。
モノリスを構築できないとき、なぜマイクロサービスがその答えだと思うのか。
自分たちのシステムはイケてないから、マイクロサービスにしたらいろいろ解決してくれるはず!っていって、導入しても多分失敗するよってことかな。マイクロサービスもやりすぎて結局運用が大変だよってのも見たことあるから、もちろん銀の弾丸なんかじゃない。
アーキテクトは、この「メタ作業は単なる作業よりも面白い」症候群の影響を避けられない。
分かるな〜。だって面白いもんね。ちゃんと価値に繋がることをやっているか?本当に必要なことなのか?という自問を常にすることが大事かも。
たいていの開発者は、粗悪な古いコードを唯一の技術的負債の形とみなす。しかし、プロジェクトは早すぎる複雑さの導入によって技術的負債を偶発的に仕込んでしまう可能性がある。
分かる〜!もちろん歴史的な経緯もあってイケていないところも多々あるけど、全然だめだ!って言っていろいろ作り直しちゃう人が作るものもたいていもっとイケてない。。最初からいろいろな場合に対応しようとするとたいていYAGNIな場合が多いから、シンプルにして、しんどくなりそうなのが見えてきたら、リファクタしてくほうがいいよね。なので、安心してリファクタできるテストと、そういう文化を作るほうが大事。
開発者がアーキテクチャを再構築する際の最初のステップは、技術的負債として現れている歴史的な設計上の妥協点を取り除くことだ。
時間とお金とステークホルダーが許すなら、作り変えプロジェクトも面白いしいいと思うけど、もっといろんなものをどんどん捨てられるようになるといいな。動いているものを捨てるのは結構反発も多いけど、積もり積もって技術的な負債になっているケースって結構あると思う。
全体の感想
前半は一つ一つは理解できるんだけど抽象的で読むの疲れた。
後半は具体的な話も多くてそうだなってうまく言語化してくれてる感じがしてよかったな。