Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

Deploying Railsは、Ruby/Rails関係なく、広く楽しめる本

f:id:antipop:20120528213006j:plain:w200:right

Deploying Railsを読みました。とても良い本だったので、感想を述べます。

まず、題名に騙されてはいけません。いかにもRailsユーザにしか関係ないような感じですが、むしろ、RailsRubyもほとんど関係ないし、関係ある部分であっても、他の言語・フレームワークに読みかえて利用可能な知識がほとんどです。

この本の説明する"Deploy"には、以下のふたつの側面があります。

  • いわゆるデプロイ(配置)を自動化する
  • デプロイしたアプリを継続的に、安定して運用可能な状態にする

前者の自動化に関してはPuppetやCapistranoが、後者の運用についてはNagios, Ganglia, その他ログデータの扱いかたなどが紹介されます。この本がとてもよいのは、

  • Vagrantを利用することで、手元のPCのみで簡単にクラスタを構成して、実運用に近い実験を行ってみせる
  • なにをやるにしてもまずPuppetでマニフェストを書くことから始めることで、新規のツールを、必ず自動構成可能な状態で扱う

という2点を徹底しているためです。Vagrantを上手く使うことで、なかなか実地に試してみることが難しい上記ツールを、実際に動かして理解を深めることができ、僕のような、ずっとアプリケーション開発を中心にやってきて、インフラまわりの知識に不安を抱えている身としては、とても勉強になりました。

上記した各ツールそれぞれについては、インフラを専門とするエンジニアからしたら、あるいは、サービスにおける実運用からしたら、ほんのさわり程度の軽い紹介でしかないでしょう。とはいえ、それぞれのツールについて深く掘り下げた本はたくさんあっても、この本のように順を追って、わかりやすいユースケースに沿って、ひと通り概説した本は、他にないように思います。

現状はベータ版というステータスですが、そこはPragProgのこと、アップデートがあり次第、DropBoxやKindleに自動的にデプロイされるという便利ぶり。特に高くもない値段ですし、アプリケーションやインフラといった専門領域、あるいは、Rubyや他の言語といった違いを問わず、一度読んでみると得るところがあるのではないかと思います。

こういういいかたはアレかもしれませんが、まさに「DevOps実践入門」といった感じの本ですね。