IT自動化を活用せよ!「オープンソースの構成管理ツールAnsible入門」第二回

image001

itlifehack_01

■はじめに
本連載の第一回目では、システム担当者により手作業で行われてきた構成管理の問題点、そうした問題を解決すべく登場した構成管理ツールの種類、そして本連載で主に取り上げる「Ansible」は何をしてくれるのかについて説明した。

今回は、なぜ構成管理ツール「Ansible」を筆者が読者に推薦するのか、導入するメリットとその特徴について整理しながら述べていきたいと思う。

■Ansibleを使うメリット
前回も説明したがAnsibleを始めるメリットは「簡単に」「すぐに」「小さく」始めることができる点にある。

管理サーバーにAnsibleをインストールした後、管理サーバーと管理対象サーバー間でSSHさえ利用できるならば構成管理をスタートできる。ただ多くの場合、それ(SSHを用いたサーバーへのログイン)は既にほとんど実現されていることが多い。

Ansibleを使えば複数のサーバーの構成管理を一括で行うことが可能だ。

Ansibleを使えば複数のサーバーの構成管理を一括で行うことが可能だ。

最初から複数サーバーの構成管理といった大きなことをやろうとしてしまうと、手に負えなくなってしまい途中で挫折する可能性が高くなる。まずはAnsibleを使って、小さなことから始め、徐々に広げていく。そうしたことが比較的容易にできるのがAnsibleの魅力だ。

そして「YAML」の記述方法さえマスターしてれば、比較的迷うことなく設定を記述していけるようになっていることも大事なメリットだ。設定方法が簡単であれば、当然学習コストも低くなり、活用範囲を広げていく道筋もつけやすい。

■Ansibleだからこそ簡単に始められる構成管理
AnsibleはPythonで書かれている。同ジャンルでPython製というとSaltが有名だ。Ansibleのライバルである「Chef」の場合、レシピを書くためにはRubyの知識が必要になるが、Ansibleはどんな言語でもモジュールが書けるようになっている。つまり、運用にあたってはPythonの知識が必要ない。これも大きなメリットのひとつだといえる。

また、ソフトウェア動作の点でもPuppetやChefなどのツールとまったく異なるアプローチをしている。

PuppetやChefは、サーバー・クライアント型のソフトウェア構成になっている。ということは、クライアントとなるマシンはサーバーに設定を問い合わせながら、自分自身を設定通りに「あるべき状態」に収束するよう変更を加えていくものになる。

しかし、Ansibleの場合はサーバー側からクライアントとなるサーバー(群)に対して直接命令を送り込み、その結果を得る。これは Func、Capistrano、Fabric などに似ているが、これらのデプロイを目的としたツールにはない「何回やっても結果が同じ」(idempotent)という構成管理の基本中の基本を(PuppetやChefと同様に)きちんと備えている点が極めて重要で、かつ大事なメリットとなる。

■Ansibleの今後の展望
Ansibleが使われている代表的なサービスをいくつか挙げると、TwitterやEvernoteがある。どちらも非常によく知られているサービスだろう。

また最近ではPythonで作られたソフトウェアの代表例としてメディアに紹介されることも多くなっている。GitHubでもPython Projectのベスト10に入ってきており、その認知度はうなぎのぼりだ。驚くことに昨年100万ダウンロードを記録したという。

日本では、今年(2014年)に入ったあたりからSNS上でAnsibleの話題が盛り上がりを見せるようになった。もちろんChefの方が頻繁に話題に上り、書籍の出版などでも盛り上がっているが、Chefが持てはやされるにつれ、そのシンプルさからAnsibleにも注目が集まるようになってきているという印象を受ける。

ChefにせよAnsibleにせよ、それぞれにポリシー(こだわり)を持って開発され、共感するユーザーを獲得しているので、どれかひとつがデファクトスタンダードとなることはなく、互いに切磋琢磨しながらITインフラにおける管理技術の発展に寄与してくのではないだろうかと筆者は考えている。

■最後に
次回はAnsibleを実際にインストールし、構成管理作業をスタートするところまでを具体的に説明していく。

株式会社ファランクス

s-fujita_profile

著者プロフィール:
藤田泰弘(ふじた・やすひろ)
株式会社ファランクスCTO(最高技術責任者)。1975年福井県生まれ。2002年東京大学経済学部卒業。大学在学中より携帯電話向けコンテンツサービスの開発に携わり、卒業後も同サービス開発会社で働く。主な担当はサービスインフラの設計・構築。ファランクスがアフィリエイト広告事業に参入するにあたり、大学時代からの知己であった経営陣からの誘いを受けて同社でのシステム全般の立ち上げに参画、現在に至る。

関連記事

コメントは利用できません。

カテゴリー

アーカイブ

ページ上部へ戻る