分123はじめにはじめまして。クックパッド株式会社の荒井(@ryot_a_rai)と申します。今回から全5回,構成管理ツールであるItamaeの入門から実際の活用例までを解説していきます。今まで構成管理ツールを使ったことがなかった方から,Itamaeをすでに使っている方まで,ぜひご覧ください。ItamaeとはItamaeは筆者が中心となって開発を進めているオープンソースの構成管理ツールです。同様のツールとしてはPuppet,Chef,Ansibleなどが有名ですが,ItamaeはChefに影響を受けています。Chefの記述性・柔軟性を持ちながら,シンプルで導入しやすい構成管理ツールを目指して開発が進んでいます。構成管理ツールの必要性Itamaeの解説を始める前に,構成管理ツールを使う理由について軽く考えてみたいと思います。Requestベースワークフローでのレビューサーバの設定変更履歴の管理Serverspecなどのテストフレームワークによるテスト・継続的インテグレーション構成管理ツールを導入し,サーバ管理を自動化することによって以上のようなメリットを得られます。Itamaeは低コストで導入できるので,いままで構成管理ツールを使っていなかった方もこの機会に導入するのはいかがでしょうか。Itamaeと他の構成管理ツールItamaeと他の構成管理ツールの違いを見てみましょう。サーバの状態をどのような言語で記述するかです。Puppetは独自言語,AnsibleはYAML,ChefはRubyです。Puppetの独自言語は柔軟ですが構成管理ツールを使うために学習する必要があります。YAMLはシンプルでわかりやすいですが,少し複雑なことや動的な設定を行うとなると独自の記法を学ぶ必要が出てきます。DSLを気に入っていました。Chefは柔軟で簡潔にサーバの状態を記述できますが,一方,覚えるべき概念が多かったり,周辺のツールのインストールで手間取ったりなど,構成管理を自動化したいだけなのに超えるべきハードルが多かったりしました(個人の感想です⁠)⁠。これはChefが非常に高機能で,巨大なエコシステムを持っているためで,メリットでもありますが,逆にデメリットにもなりえます。DSLで記述できるシンプルな構成管理ツールを開発することにしました。このようにItamaeは特別新しい概念・機能を持っているものではありませんが,できるだけツールの学習コストを下げ,構成管理の自動化を最短距離で実現するために開発されています。インストールでは,早速Itamaeを使ってみたいと思います。本連載ではUbuntuの仮想マシンをVagrant(VirtualBox)上で動かし,実際にItamaeを使っていきます。本連載の手順はMac上で動作確認していますが,VirtualBoxとVagrantが動く環境であればどのプラットフォームでも動くと思います。VirtualBoxからVirtualBoxをダウンロードしインストールします。Documentationに従ってVagrantをインストールします。Ruby,ItamaeのインストールまずVagrantを利用して仮想マシンを起動します。upその後,Rubyをインストールします。ItamaeはRubyで書かれているため,動作にはRubyが必要です。Rubyのインストール方法についてはRubyの公式ページをご覧ください。2.2.2をインストールします。[x86_64-linux-gnu]Rubyがインストールできたらgemコマンドを使ってItamaeをインストールします。v1.4.2パッケージ管理システムによるItamaeのインストールItamaeをインストールするためのもう一つの方法はパッケージ管理システムによるインストールです。このパッケージを使うことで独立したRubyがインストールされ,一発でItamaeが使えるようになります。Chef社が開発してるOmnibusというツールを利用して作成されたItamaeのパッケージを利用することができます。14.04(Trusty)用のもののみ提供しています(パッケージレポジトリ⁠)⁠。未検証ではありますが,omnibus-itamaeを自分でビルドすればDebian,Ubuntuの他バージョン用のdebパッケージや,RHELやCentOS用のrpmパッケージも作成できるはずです。