『入門Chef Solo - Infrastructure as Code』(伊藤直也/ダイレクトパブリッシング)
- 2013/06/16 20:20
- 齋藤公二
サーバ管理の自動化ツール「Chef」を知るための入門書です。著者みずからが出版するダイレクトパブリッシング形式の電子書籍で、AmazonからKindle版が、達人出版会からEPUB版とPDF版が刊行されています。
Chefというのは、Rubyを使ってサーバの設定や更新を行なうレシピ(手順書)を作り、そのレシピをいろいろと組み合わせることでサーバの運用管理を自動化できるようにするフレームワークです。本書は、Chefのスタンドアロン版である「Chef Solo」を用いて、インストールの仕方、レシピの書き方、自動化の方法などを説明しています。
とにかく読みやすくて、分かりやすいです。技術書の範疇に入る本かと思いますが、コードやサーバ管理に不案内な人でもスッと読めてしまうと思います。「内容は読めば分かるのでとりあえず読んでください」と言いたくなるほどです。
なぜ読みやすいのかというと、情報の出し方がウマいからだと感じました。理解に時間がかかりそうな事柄については最初はあえて語らず、ステップを踏んでもう少し知りたいというタイミングになったら詳しい説明に入ります。たとえば、Chefの特徴については、「#1 Chefとは何かを知りたい─Chef Overview」でこんなふうに説明します。
また、同じく#1で、Chefで使われるResourceという概念について、こう説明します。
要は、Chefというのは「サーバー設定周りを自動化するツール」であり、「まずは標準Resourceの使い方だけ覚えればOK」ということです。
続いて「#2 Chef Soloをインストールして試したい─Hello Chef!」で、具体的にコマンドを操作してから、こう説明します。
#3以降は、さまざまなResourceを使っていき、「#8 代表的なレシピのサンプルを見たい─td-agentのレシピを読む」になって、ようやく「なんで“Resource”?」として、Resourceが何であるかというChefの思想について述べることになります。
こういう説明をされると、次を読み進めたくなりますし、読み終わってからも、本書が扱っていない次のステップへと進みたくなります。本書の最大の魅力ではないかと思います。
構成としては、この辺りまでが前半(Kindle Locationで44%)です。#9以降の後半では、具体的なResourceとして、Package、Service、Templateなどを説明していきます。その過程で、最初にResourceの「変数」としか説明していなかったAttributeを「属性」としてどのような役割を担うかも説明していきます。
#22では、Chefを大規模環境で動かすためのChef Serverについて簡単な説明があります。最終章の「#23 どこまでをChefでやるべきか」は、Chefを実践するうえでの注意点や今後の見通しが述べられます。
個人的には、最後の最後にでてくる「筆者がChefを使い始めた理由」という項目を読んで、著者の主張がストンと腹に落ちました。これも、「最初はあえて語らないという情報の出し方のウマさ」の1例かもしれません。著者が今回、情報をパッケージ化して提供する本(電子書籍)というフォーマットを選択したのも、そうした情報の出し方による効果をねらってのことでしょう。
Webに情報がたくさんあるのにわざわざ本を読む必要性を感じないという人もいるかもしれません。でも、たくさんの情報をどう料理してくれるかを楽しめるのが本の魅力の1つです。本書の読後感で言うと、腕利きのシェフにウマい料理を食べさせてもらったという感じでしょうか。
書誌情報
著者:伊藤直也
発売日:2013年3月11日
価格:890円
図版色数:4C
ページ数:137ページ(Amazon推定)、124ページ(達人出版会 A4 PDF版換算)
Kindle Location:1888
Amazon ASIN:B00BSPH158