Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

書評『Chef実践入門 コードによるインフラ構成の自動化』

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)』をご恵贈いただきました。毎度ありがとうございます。

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)

Chefについては、先日「書評『Chef活用ガイド - コードではじめる構成管理』」にて、ほぼ同時期に刊行された別の本について述べたところです。僕自身のChefやInfrastructure as Codeへの考えについては、繰り返す必要もないでしょう。そちらのエントリをご覧ください。

さて、こちらの本は「実践入門」というだけあって、実際に手を動かしながらChefに慣れていこうという構成です。Vagrantを用いて、本の記述に沿って試してみるうちに、次第にChefがわかってくるという寸法。『入門Chef Solo - Infrastructure as Code』からブラッシュアップした章もありますし、そのアップデート版といった感じでしょうか。概要を把握しつつ手を動かしていくうちに、ちょっとしたシステムについてなら、それなりにInfrastructure as Codeできるようになりそうです。

また、Chefにあんまり詳しくない僕としては、細かいお作法みたいなものがちょいちょい書かれているのが便利でした。たとえば、以下。

なお、Ohaiの値のキーは:platformとしてシンボルで指定するのに対し、Nodeオブジェクトに定義したものはnode['httpd']['port']とキーに文字列を使うのが慣習です。

(本書p.83)

ifを使うとインデントが深くなり、可読性を落とします。このようなときは、条件付きアクションを使うことでスマートに処理を記述できます。

(本書p.229〜230)

こうしてひと通りのレシピを書けるようになったあと、実際の複雑なシステムに立ち向かった時、読者はその複雑さをどのように読み解き、モデル化し、メンテナンサブルなクックブックに落としていくのかという現実に突き当たると思います。その答えの一端について触れていないわけではないものの、それは本書の範囲を超えるでしょう。その際は、コミュニティのクックブックで設計を学んだり、『Chef活用ガイド コードではじめる構成管理』を読んでさらに知見を深めたりといったことが必要でしょう。

ともあれ、Chefを学びたいひとにとっての最初の1冊として、間違いなくおすすめできる本だと思います。