Ansible を使ってみた感想

ここ数日 Ansible を触ってみてた。 MoinMoin Wiki のセットアップとか試しにやってみた。

tototoshi/ansible-playbook-moinmoin · GitHub

Chef の代替というよりも Chef + Capistrano/Fabric という感じ。

  • インストールが楽。設定ファイルもほとんどなし。
  • デフォルトでできることが多い。ApacheBasic 認証設定とか PostgreSQL のユーザー作成とかまで最初っから使えるのが良い。
  • ドキュメントが充実しているしサンプルも併記してくれていて親切。
  • あまりハマらない。

シンプルで良いツールだと思った。

yaml なので簡単なことは簡単にかけるけれど、手続きっぽいことを書くのは当然つらい。 そこは仕方ないかというところ。まあ数日使った程度ではそこまで困ることはなかった。

シェルスクリプトでは手続きを書くのに対し、 こういうツールでは冪等性うんぬんってやつでどんな状態に収束するかを書くので、 yaml で宣言的に書くほうが向いている(という都合の良い見方)。

あと一つ一つの記述は宣言的だけど、 それでいて処理は上からべたーっと順番に行われるのはわかりやすい。

うまく動いてくれないなーって思ったのが handlers。 難しいものではないんだけれど、試行錯誤しているうちに間接的な原因で意図通りに発火してくれないことがある。notify 書き忘れとかもあるし普通に最後に明示的に reload,restart とかしたほうがシンプルかも。

Chef はいろいろめんどくせーと思ってやらなかったけど Ansible ならイケると思ったし、 おいしいところだけ使うで十分得られるものが多そう。 簡単なのでまだ試してない人も一度触ってみると良いんじゃないかな。