サーバ構築・運用自動化ソフトの中でも特に利用者の多い、「Chef」「Ansible」「Puppet」「Itamae」の4製品をピックアップ。「各ソフトの実行環境の構築手順」「OSSのBlog/CMS基盤であるWordPressの構築」を通じて、その違いを探り、体感いただく本連載。後編ではPuppet、Itamaeを紹介する。
ほとんどのビジネスをITシステムが支えている今、システムを支えるサーバ台数も増加の一途をたどっている。これに伴い、サーバで稼働するシステムの構築・維持にかかる時間・コストも増大し、もはや人手だけでは対応できない状況になっている。
こうした中で注目を集めているのが、システムの構築・維持の自動化を実現する「サーバ構築・運用自動化ソフト」だ。特に近年は、オープンソースソフトウェア(以下、OSS)の「Chef」「Ansible」「Puppet」「Itamae」の4製品が利用者を大幅に伸ばしている。
そこで本連載では、各ソフトの実行環境の構築手順と、OSSのブログ/CMS基盤であるWordPressの構築を実際に行った結果をまとめている。基本的に同一のインストール手順で自動構築を行うことで、各製品間の違いを表現できればと考えている。ChefとAnsibleを紹介した前編に続き、今回はPuppetとItamaeについて解説したい。
検証に用いた製品は、2016年4月時点の最新安定バージョンとなる。基本的な使い方は記述できているため、初めて製品を使う方の参考になれば幸いである。ただ、筆者の知識不足で、各製品で推奨されている“ベストプラクティス”に準拠できていない点も存在することをご容赦いただきたい。
今回、評価を行った4製品の製品名と特徴は以下の通りだ。なお、リスト中の製品名をクリックすると該当ページに飛ぶので、知りたい製品から読むこともできる。
製品名 | ベンダー/コミュニティ | 特徴 | |
---|---|---|---|
1 | Chef | Chef Software, Inc. | 使用言語はRuby。サーバnode内で設定を行うChefと管理サーバからChefを実行するknifeと集中管理を行うChef Serverが提供されている |
2 | Ansible | Red Hat Inc. | 使用言語はPython。エージェントレスでssh接続で設定可能であれば、サーバ以外(ネットワークスイッチなど)でも設定が可能 |
3 | Puppet | Puppet Labs | 使用言語はRuby。2005年から開発されている最古参の製品。他の3製品とは異なり、node側から処理が実行されるpull型となっている |
4 | Itamae | itamae-kitchen | 使用言語はRuby。Chefの軽量化、簡素化を目的にcookpadの荒井氏が開発した。機能もrecipeの書式もChefを踏襲しているが、Ansible同様にエージェントレスのため、sshで接続して処理を実行する |
今回の検証は以下の環境で実施している。
では早速、後編に入ろう。
Copyright © ITmedia, Inc. All Rights Reserved.