Hatena::ブログ(Diary)

naoyaのはてなダイアリー

March 13, 2013

Kindle向けに『入門Chef Solo - Infrastructure as Code』を出版しました

Chef のスタンドアロン版である Chef Solo の技術書を Kindle 向け電子書籍として出版しました。

入門Chef Solo - Infrastructure as Code
伊藤直也 (2013-03-11)
売り上げランキング: 14

がんばりました。原稿\(^o^)/オワタ

Chef Solo 本

Chef はサーバー/インフラの状態管理フレームワークです。より単純化して言うならサーバー構築の自動化ツール。コードは Ruby で書きます。ウェブアプリケーションをホストするサーバーの管理にもちろん利用できますし、チームメンバーの開発環境を同じ状態に揃える、あるいは個人の開発環境の整備を自動化する、といったことにも利用できます。

本書の内容のは、その Chef の入門書です。Chef のインストールに始まり、Chef Solo によるサーバー構成変更の仕方、自動化の方法といった基本的なことを中心に、一緒に使えると便利な仮想サーバーの Vagrant、Chef Solo 実行に便利な knife-solo、Bundler 風に Chef のライブラリ (クックブック) を管理する Berkshelf などの解説も交えています。

以下、本文から引用です。

筆者がなんでこんな本を書こと思ったかという一つの理由でもありますが、Chef は比較的シンプルで分かりやすいツールのはずなのに学習コストが少々お高め、という印象があります。

その原因のひとつに、Cookbook、Resource、Attribute、Data Bags、Role、Environment、Provider、LWRP ・・・ など多数の Chef 独自の概念が存在することが挙げられます。公式のドキュメントはいずれの項目についてもしっかりと書かれているのですが、しっかりと書かれているが故に、とりあえず使ってみたいという程度の場合に、どれをどこまで覚える必要があるのかが把握しづらい。

(中略)

概念の多さから来る学習コストの上昇カーブを極力抑えて、「とりあえずレシピを書いて Chef で遊べる・管理できる」レベルに最小限の投資で到達できるようにする、というのが本書のねらいです。

先日 Engine Yard さんで開催された Chef 勉強会に行ったときに周りの Chef ユーザーのひとたちと話してみたところ、Chef の実行の仕方で躓いている人が散見されたこと、また Chef に関するネット上の情報が(公式ドキュメント以外は) 断片的で偏りがあることなどを感じました。おそらく今年は AWS をはじめとするクラウド (IaaS) が、昨年の勢いを更に増して普及していく年だと思いますが、それに伴う形で Chef のようなフレームワークにもより注目が集まるのではないかと思います。そんなところからこのタイミングで、ある程度の Chef の情報をまとめておくと良いのではないかと思い、もともとKDPで本を書いてみたかったこともあって、電子書籍でそれを形にしてみました。

Amazon.co.jp から購入可能、890円です。

Kindle Paperwhite などの各種 Kindle 専用端末はもちろん、iPhone や iPad あるいは Android の Kindle アプリにも対応しています。また、コンテンツは DRM フリーなので購入後に好みのフォーマットに変換して利用することが可能です。(追記: データを更新した影響で一時的に iOS 版への転送が不可能になっています。しばらく時間が経てば再開すると思うので今しばらくお待ち下さい。)

Kindle Paperwhite

http://cdn.bloghackers.net/images/20130313_011212.png

Kindle for iPad

http://cdn.bloghackers.net/images/20130313_011115.png

Kindle for iPhone

http://cdn.bloghackers.net/images/20130313_011419.png

目次

  • #0 はじめに
  • #1 Chef とは何かを知りたい ─ Chef Overview
  • #2 Chef Solo をインストールして試したい ─ Hello Chef!
  • #3 nginx を Chef Solo で立ち上げたい
  • #4 Chef Soloの試験環境を3分で用意する ─ Vagrant
  • #5 リモートから chef-solo を実行する ─ knife-solo
  • #6 レシピを作って実行する流れをおさらいしたい
  • #7 サードパーティの Chef クックブックを使いたい
  • #8 代表的なレシピのサンプルを見たい ─ td-agent のレシピを読む
  • #9 パッケージをインストールする ─ Package
  • #10 サービスを起動したい ─ Service と Notification
  • #11 テンプレートから設定ファイルを配置したい ─ Template
  • #12 ファイルやディレクトリを扱いたい ─ Cookbook File, Directory
  • #13 ユーザーを作成したい ─ User, Group
  • #14 git レポジトリからファイルを取ってくる ─ Git
  • #15 任意のシェルスクリプトを実行したい ─ Execute, Script
  • #16 その他の Resource
  • #17 レシピ落ち穂拾い ─ run_list, ファイル分け, include_recipe
  • #18 Resource を自分で定義したい ─ Definition
  • #19 Attribute と Data Bags
  • #20 ノードを役割ごとにグルーピングして管理したい ─ Role
  • #21 サードパーティのクックブックを Bundler 風に管理したい ─ Berkshelf
  • #22 Chef Server の様子を知りたい - 概要からセットアップまで
  • #23 どこまでを Chef でやるべきか
  • おわりに

出版にあたって

  • 今回 KDP で出版するにあたっては @miyagawa さんに質問したところ、Markdown から epub/mobi への変換のやり方について丁寧にアドバイスしてくれました。
  • @ugtkbtk は原稿をレビューを手伝ってくれました。
  • td-agent のレシピを紹介するにあたってはその掲載を @kzk_mover さんに快諾いただきました。
  • 本文中の内容、誤植、誤りといった点は定期的に修正して最新版として随時更新していくつもりです。(実は早速先ほど typo の修正のアップロードを行いました・・・。まだ書影がないのは KDP 既定画像の生成に時間がかかっているからみたいです。)
  • 実際にどうやって作ったか、なんかはまた後日エントリしたいと思います。基本は Markdown で書いて github で管理、epub です。
  • 今後 Chef 系の勉強会やイベントなんかがあったら是非呼んでください! 本の宣伝しにいきます!

えー、そんなわけで『入門Chef Solo - Infrastructure as Code』 ぜひともよろしくお願いします!

追記

EPUBファイルを直接欲しい、PDF版が欲しいといったリクエストをいただいています。こちら現在 達人出版会 さんにお願いして調整中です。少々お待ち下さいませ。

追記#2

達人出版会さんからも出ました! PDF/EPUB ファイルが直接欲しい方はこちらからご購入くださいませ。

nasustnasust 2013/03/13 11:33 はじめまして。
Kindle for iPad版を購入しようとしましたが、対応端末にiPadがないようです。
文章から対応していると思われるので、Amazonのミスだと思います。
出来たら対応して頂けるとありがたいです。

naoyanaoya 2013/03/13 11:39 ありがとうございます。

今朝 ePub ファイルを更新したのですが、その関係で一時的に iOS 版が取り出せなくなっているようです。おそらく数時間後にはまたダウンロード可能になるのではないかと思います。お手数おかけしてすみません。

Error401Error401 2013/03/13 13:12 こんにちは。

私の場合、新しいツールを使い始めるとき、最初の1,2時間で使えないと「後で学習キュー」に入れてしまい、Chefもそうなってしまったんですが、この本が良い再会のきっかけになると思います。

ところで、iOS版Kindleではなぜだか目次が無効になっている(メニューがグレーアウト。「このタイトルはご利用いただけません」)のですが、もし修正可能なら対応していただければ幸いです。
なお、Kindle Paperwhiteでダウンロードして確認すると、きちんと目次が表示されていました。

naoyanaoya 2013/03/13 13:14 ありがとうございます。

上のコメントにあるのは iOSの目次に対応するための修正でした。が、その影響で今はまだ新しい iOS のファイルが落とせない・・・

しばらくお待ち下さい!

hnakamur3hnakamur3 2013/03/13 20:12 はじめまして。
購入して、iPhone 5とiPad miniでは読めているのですが、
MacBookでは「この商品はデバイスと互換性がありません。」というメッセージが表示され
ダウンロードエラーとなってしまいます。
MacBookで読みたいので、ぜひご対応をお願いします。

内容の方ですが、chef-soloは既に使っていましたが、knife-soloでレシピを転送できるとか、definitionsで独自リソースが定義できるとかは知らなかったので、勉強になっております。ありがとうございます。

hnakamur3hnakamur3 2013/03/13 23:06 Amazon.co.jp Kindle Customer Serviceにも問い合わせたのですが、この本の問題ではありませんでした。
Amazon.co.jpで使えるKindleアプリはiOS用とAndroid用のみで、それ以外の端末では現在日本語版のKindleアプリが提供されていないそうです。
今までAmazon.comでしかKindle書籍を購入したことがなかったので知りませんでした。
どうもお騒がせしました。

naoyanaoya 2013/03/14 00:28 Twitter でもおなじ質問をいただいて自分も調べてみたのですが、ご説明いただいているとおり Mac 版 Kindle は日本の Kindle Store に対応していないとのことです。

今回だしている電子データは DRM フリーなので、なんらかの方法でファイルを取り出していただければあとは pdf に変換するなりで PC で読めるようにするのは可能ですので、もし余裕があればお試しいただけると。

shishi4htnshishi4htn 2013/03/23 06:16 調べてみたのですが、iOSのKindleからデータを取り出す方法というのは見当たりませんでした。DRMフリーとはいえ、iOSしかもってない人は取り出せないようですね。