![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fm.media-amazon.com%2Fimages%2FI%2F41kBThOzlFL._SX389_BO1%2C204%2C203%2C200_.jpg?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=1aa9942a005de38647e86cd00e35b9b1)
を読み直したのでその読書感想文です。
本書は、読者が自身のアーキテクチャ上の難題に対して効果的なトレードオフ分析を行い、より良い決定ができるようにするための書籍です。
本書では、サービスの粒度やデータの所有権、コードの再利用やワークフローの調整、可用性や信頼性の実現といった現代のソフトウェアアーキテクチャの難題と、それに対するさまざまなアプローチやパターンを紹介します。そして意思決定を難しくするトレードオフについて、モノリスを分解しマイクロサービスアーキテクチャに再構築する例を通して詳しく説明します。
『ソフトウェアアーキテクチャの基礎』の著者らによる現代的なトレードオフ分析とその実践を学べる本書は、現代のソフトウェアアーキテクチャに関わるソフトウェア開発者にとって必携の一冊です。
「読み直した」というのは「ソフトウェアアーキテクチャの基礎」
に引き続きありがたくもこの本の査読に参加させていただいたからであります。
短い感想
- 「ソフトウェアアーキテクチャの基礎」を読んだので、その要点 - Qiita の続編。アーキテクトの仕事の難題をストーリー仕立てで追体験できる。
- 「ハードパーツ」。難題、ということになる。実際に胃が痛くなる部分が色々。だけではなく「堅い部分」(ソフトウェアアーキテクチャという「ソフトウェアの中のハード(硬い)な部分」) という意味とのこと。
- トレードオフを探る。アーキテクチャは「ベスト」を探れるものではなく、ケースバイケースであったり、その係数が色々。「どちらかを立てるとどちらかが立たなくなる」選択の連続と表現されている。
- Architecture Decision Records を残しながら物語が進む。参考:
- こんな読書会もあったようだ
- 「最悪でないもの」を探るべく対話を繰り返しながらトレードオフの選択をしていく。
- 大団円。「我々のアーキテクチャはほかのものとは違いすぎるので一般的なアドバイスに頼ることはできない」「トレードオフ分析という大変な作業を常に行わなければならない」しかし、「それはデメリットではなくメリット」
- 次元を分離してトレードオフ分析を行う方法を皆が学べば、自分たちのアーキテクチャについて具体的なことが分かるようになる。
- 今回も、査読は大変楽しかった!!!
参考
- Software Architecture: The Hard Parts | Architecture The Hard Parts
- O'Reilly Japan - ソフトウェアアーキテクチャ・ハードパーツ
- 『ソフトウェアアーキテクチャ・ハードパーツ』 - Don't Repeat Yourself
- 『ソフトウェアアーキテクチャ・ハードパーツーー分散アーキテクチャのためのトレードオフ分析』 - snoozer05's blog
- ソフトウェアアーキテクチャ・ ハードパーツ: Software Architecture The Hard Parts - Speaker Deck
以上です~