対象ツール
- docker: https://www.docker.com
- chef: https://www.getchef.com/chef/
- ansible: http://www.ansible.com/home
docker
immutable infrastructure.
つまり、使用済みのサーバーは捨てる。常に新しい環境を作るという思想ですね。
コンテナー型でホストOSから様々なプロセスを立ち上げて管理するのが特徴です。
但し、使用済みのプロセスのログ管理や運営の仕方など、初心者には難しいと思いました。
chef
個人的にはchef-soloを好んで使用しています。
レシピを書いてローカル環境を簡単に作れるし、AWSのOPSWORKSでもレシピが使えるのはかなりメリットだと思います。
但し、chefを使用するために各種ツールをインストール必要があり、面倒くさい面もあります。
Ansible
これいいですね!pythonで作られたツールでサーバーとssh通信を利用して環境構築を行う。なのでchefのように各種ツールをインストール必要もありません。pyshonさえあればOK。また、chefみたいに設定ファイルを書くのにrubyを覚える必要もないし、yamlで記述すればいいので簡単です! travisの使用経験がある人には相性いいかもです。
感想
Ansible > chef > docker
Ansibleは導入が簡単。そしてpassbookの記述も簡単な理由から1番にしました。(あくまで個人的な意見、、)chefみたいに冪等性も保たれます。相当魅力的なツールだとおもいました。
他にも良いツールがありましたらコメントください!