Kindle向けに『入門Chef Solo - Infrastructure as Code』を出版しました
Chef のスタンドアロン版である Chef Solo の技術書を Kindle 向け電子書籍として出版しました。
がんばりました。原稿\(^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 版への転送が不可能になっています。しばらく時間が経てば再開すると思うので今しばらくお待ち下さい。)
目次
- #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』 ぜひともよろしくお願いします!