システム管理の自動化に役立つツール
まだ、導入までは至っていないが有用だと思われるツールが2つある。
共に Ruby を使って開発されている。
Capistrano は、リモートのサーバに対して行う定型作業を自動化してくれる。
例えば、
- ソフトウェアのインストール
- Web アプリケーションのデプロイ
- サービスの起動・停止の管理 (Apache など)
のような、CRONなどで定期実行していないが、複数のリモートサーバに対して実行するのが面倒な作業を、コマンド(capコマンド)を実行するだけで処理してくれるものらしい。
Ruby On Rails なアプリ管理のために開発されているが、それ以外の管理にも使えるとのこと。
Puppet は、リモートのサーバのシステムの構成を一ヶ所で管理できるC/Sシステム。
例えば、
- ソフトウェアのインストール
- ユーザーの追加
- サーバーの設定更新
を1ヶ所のサーバ(puppetmasterd)で各クライアント(puppetd)を管理することが出来る。
Puppet は、サーバとクライアントの両方を設定しなければならないので、動作環境を用意するのに手間がかかる。
一方の Capistrano は、自分のPCにインストールしておけばいいので、Puppet よりは始めやすいだろう。
同じシステム管理用のツールだが「Capistrano = 動的」「Puppet = 静的」と言うイメージがある。
- 日々の更新作業を簡略化するのが Capistrano
- システム全体を一括で管理するのが Puppet
という使い分けになるのだろう。今後それぞれ特徴を生かしてシステム管理に活用していきたい。