Ansibleとは
構成管理ツールの1つです。
ChefでなくAnsibleを選んだ理由
自分はRubyが好きなので、 最初はChefを考えていて、Chefの本も買いました。
ただ、本を読むと、ちょっととっつきにくいなぁと感じました。 後から思うと、そのとっつきにくさは、プル(pull)型アーキテクチャのためでした。 プル型もプッシュ(push)型のどちらにもメリットがありますが、 前準備が必要な分、プル型はとっつきにくいようです。
悩んでいたときに、Red Hatによる買収話1を聞きました。 Red Hatが買収するくらいなので将来性もありそうだなと思ってAnsibleを使ってみたら、 案外とっつきやすいので、そのまま使ってます。
シェルスクリプトに毛が生えたようなもの
Ansibleの良い点は、Ansibleがやってることが、 「シェルスクリプトに毛が生えたようなもの」だからです。
例えば、RedHat系Linuxでパッケージを追加するモジュールの名前は、yum
です。
名前の通り、yumコマンドを使っています。
自前でちゃんと動くシェルスクリプトをかいて、shell
モジュールを使っても構いません。
creates
オプションを使えば、冪等性も確保可能です。
1つ1つタスクを書くよりも速いので、むしろおすすめです。
処理でなく状態を記述
たぶん、一番慣れる必要があるのは、 Ansibleでは「処理」ではなく、「状態」を記述することです。 実際には処理を記載するケースもありますが。