Chef実践入門

副題「コードによるインフラ構成の自動化」にしびれる。

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

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

基本的な主戦場をNGINXモジュールとNode.jsとPostgreSQL/PLV8のストアドプロシージャに求めてるのですが、まずそれ動かすための環境は必要なわけです。これまではOS Xの上に直に構築してごまかしてたけど環境ごちゃごちゃしてくるしどうしたものか。常にこのへんは先送りしていたのは私がインフラ方面にはスキル積んでこなかったからですね。昔のクラサバからJava製WEBアプリの経験だし、コンパイラ言語ばっかりだからJavaScriptとかでもこれまでなかなか機会無かった。

そんな中でグルージェントCTO/COOの瀧下さんにVirtualBoxVagrantを使うのをつい先日教えてもらったのでちょいちょい触ってたら、これ良いですね。世の中で流行ってるのわかります。私にとってはまだ若干黒魔術的なおまじないで使ってますけど、サクっと使い捨てできる環境が立ち上がる。で、さらにはDockerですか。最近話題のCoreOSでDocker-Ubuntu動かすイメージも瀧下さんにもらって動かしてみました。そこにNGINXとNode.jsとPostgreSQLを整えるわけです。。。うーん、ここまで楽にしてもらってもやっぱり同じこと繰り返しできないなー。

こちらに来る前、書店やAmazonで目についた日本語の技術本をまとめ買ってきていました。その中に出たばっかりのこのChef本も。やっと生活落ち着いてから読み始めたばかりですけど、いきなりVagrantで検証環境立ち上げるところから記述があったので共感しながら読めてます。実践編の章ではNGINXもNode.jsの例もあってちょっと笑っちゃった。流行ってるんだ。でもPostgreSQLは流行ってないみたい?いいDBだとおもうんだけどね。

なぜにChefかというと本が出てたからとしか言いようがない。Puppetや他の同様ツールの検討もまずChefを流してみてからでいいかなと。野心としては(もし無いなら)ChefやPuppetみたいなののJavaScript実装を作りたいぐらいです。個人的な問題としてはRubyに不慣れってことがあるのでできるなら全部JavaScript統一できたらなあと。Chefだけでなくインフラ系のツールRubyもしくはPythonのもの多いから、Javaや.netの知識だけで、かつ10年のブランクがあるから様々なことに隔世の感。今日からとりあえず見よう見まねでChef写経してみます。CoreOSでDocker-Ubuntu動かしているところからChefだと本とまったく環境違うので、Opscode提供のCentOS 6.5環境にて。このへん本の言う通りになるべくやってく。写経だから。

実践 Vagrant

実践 Vagrant

このVagrant本も買って持ってきたけど、ちょっとだけ内容が古いみたい。たとえばホストとゲストでファイルシェアをするためのフォルダを指定するディレクティブが、本ではconfig.vm.share_folderなところnot foundになってて、新しく手元ではconfig.vm.synced_folderだったり。本が1.0ベースで今は1.6なのですね。バージョン進化速い。