おいちゃんと呼ばれています

ウェブ技術や日々考えたことなどを綴っていきます

Chef と Puppet の勉強会というよりも、むしろ時代は serverspec だった #pfcasual

昨日 Provisioning Frameworks Casual Talks vol.1 という Chef とか Puppet とかの勉強会に行ってきました。

開催前は、Chef vs Puppet の全面戦争やー、と騒がれていましたが、全然そんな感じにならなくて。そこはどっちでも好きな方で良いから早く入れろ。むしろそれより問題は運用だ、みたいな流れになってました、全体的に。

そして、その運用について、登壇者の方のほとんどが言及していたのが「テスト」

オマエは Chef なり Puppet なりでサーバに変更を加えた後に、いちいち手で何台も動作確認するのかい? <<

と言われていて、説得力がありました。

*テストツールいろいろ

詳しくは id:naoya さんの スライド を見てもらった方が良いのですが、テストツールにはいろいろあります。

-サーバの状態管理を RSpec でテストする serverspec とか、 -同様に状態管理のテストで、opscode 公式の minitest-chef-handler とか、 -あと、Chef コマンドをサーバに適用する前に行うテストとか

*serverspec が良いらしい

テストツールはいろいろあるけど、serverspec が推されてました。理由としては、minitest-chef-handler は Chef に依存するけど、serverspec は独立しているから、将来 Chef から乗り換えたときにも資産を活かせる。

serverspec をつくった mizzy(@)さんも下記のように言ってました。

僕自身はサーバの状態管理のテストとして serverspec しか知らなくて、そこまで考えずにのんきに使っていましたが、聞いてみてナルホドと思いました。

-serverspec - home -構築済みサーバを RSpec でテストする serverspec という gem をつくった - Gosuke Miyashita

*最近出版された 2冊の本のおかげでグッと敷居が下がった

Chef も Puppet も最近出版されたそれぞれの入門書のおかげで、学習の敷居がグッと下がったと思います。

-『入門Puppet - Automate Your Infrastructure』という電子書籍を出版しました - delirious thoughts -Kindle向けに『入門Chef Solo - Infrastructure as Code』を出版しました - naoyaのはてなダイアリー -達人出版会から『入門Chef Solo - Infrastructure as Code』出てます - naoyaのはてなダイアリー

これまでは、仕事で使うインフラエンジニアが、頑張って英語のドキュメントを読んで学ぶという印象があったのですが、2冊の入門書(2冊は姉妹書)のおかげで、僕のようなアプリケーションエンジニアでも、とりあえずどんなものか触ってみようという気になれました。

さらに『入門 Puppet』では、先に触れた serverspec を使って行うテストについても書かれていて、(Chef | Puppet)with serverspec の流れはますます広まりそうだなと。

*手を動かしてはじめて見えてくるもの

ところで、上の2冊の入門書について、手を動かしながら本を読み進めて、ひととおり分かったような気になるまでにどのくらい時間がかかるのか時間を計測していたのですが、どちらも3〜4時間くらいでした。これまでに手を出したいろいろなものに較べて、明らかに費用対効果が高かった感触です。

まあどんな分野でもそうだと思うのですが、ドキュメントやブログなどを見るだけでふむふむとなるのと、実際に手を動かしてみるのとでは理解度が全然違うので。

Chef や Puppet はサーバ構築の自動化ツールではなくて、サーバのあるべき状態を管理するツール <<

ということの意味が、手を動かしてみてやっと分かりました。

あと、個人で運用している 2つのウェブサイトも、ひとつは Chef Solo、ひとつは Puppet で管理をはじめたのですが、まだ全然書き方がイケてなくて。リファクタリングするときに、いかに serverspec 等のテストが助けてくれるかも身に染みて実感しました。

*まとめ

-Chef か Puppet かよりも、serverspec 等のテストをしっかりやって、いかにスムーズに運用できるかという点に焦点が移ってきた -最近出版された『入門 Chef』『入門 Puppet』によりグッと学習コストが下がったので、ぜひ手を動かしてみると良い(特にアプリケーションエンジニアのひと)

*おまけ - 勉強会のやり方について

今回の勉強会は「事前登録不可 / 先着順受付」というやり方でしたが、僕としては、atnd とかを使った従来からのやり方のほうが好きですねー

-受付を済ませておけば、とりあえず参加させてもらえる安心感が得られる -事前登録がないと、かなり早めに会場に着くようにしないといけない -会場に向かっていたのに、満員になって入場出来なかった人のマイナスは、atnd で定員オーバーで参加できないマイナスよりも大きいと思う

ともあれ、今回の勉強会、大変有意義だったし、楽しかったです。主催してくださった id:studio3104 さん、関係者の方々、本当にありがとうございました!

*参考サイト

-Provisioning Frameworks Casual Talks vol.1 に参加しました - アルパカDiary -Chefのあれこれ #pfcasual - maoeのブログ -Provisioning Frameworks Casual Talks Vol.1 #pfcasual - delirious thoughts -Provisioning Frameworks Casual Talks vol.1 - Togetter