「インフラデザインパターン」を読みました

「インフラデザインパターン」を献本いただきましたので、ざっと読んでみました。いつもありがとうございます!

インフラデザインパターン ~安定稼動に導く127の設計方式 (WEB+DB PRESS plus)

インフラデザインパターン ~安定稼動に導く127の設計方式 (WEB+DB PRESS plus)

「インフラデザインパターン」は、NTTデータの人による各種システムのインフラを設計する上でのいろいろな設計方法をパターンとして整理した本です。内容は、可用性、セキュリティ、性能、保守性や、サーバーネットワーク構成、クラウドまで言及されていて、網羅的に書かれています。 例えば、DBサーバの可用性のところは、FTサーバー、並列DBクラスタ、N+1クラスタ、相互待機クラスタと、それぞれの定性評価がかかれていて、確かにこれぐらいの選択肢はあるよね、ということが一通り書かれています。NTTデータの人が書いているだけあって、世の中の数あるシステムの様々な要件を満たすために必要なパターンが書かれています。

AWSのようなクラウドを主体としてWebサービスを構築する上では、選択肢にはなり得ない技術(典型的にはFTサーバ)もあって、教養として知っておくのは良さそうです。ただ、Webサービスの可用性や性能を挙げるための観点でいくと、ちょっと低レイヤーの技術/機能に寄りすぎの印象です。もっと上のレイヤーのアプリケーション自体やミドルウェアの機能を有効活用して、可用性とスケーラビリティを担保するほうがモダンな設計だと思います。もちろん、それぞれ適材適所ということです。

というわけで、ウェブに限らず、世の中のシステムで可用性などがどのように確保されているかの一端を知るのには読んでおいても良い本だと思います。

デザインパターンの粒度

ちなみに余談ですが、一部のパターンで特定の技術、例えば「生体認証パターン」で生体認証を使うとだけあって「えっこれもパターン??」となるところもあり、パターンという言葉を多用し過ぎなんじゃないかと思いました。オブジェクト指向の継承を、継承パターンと呼ぶような違和感ですね。GoF本ではあの厚さで23パターンですし、デザインパターンと称するならもうすこし汎用性と抽象度を挙げたほうがいいんじゃないかと思いました。