クラウドでの設定管理ツールPuppet
マニフェストのmCloudシリーズでの活用例
ここまで簡単なサンプル・マニフェストを紹介してきました。しかしながら、システム管理はそれ程単純ではありません。より複雑な条件設定や設定がないと一貫性を管理できないシステムも少なくありません。モーフ・ラボ社のmCloudシリーズでは、高度にモジュール化されたフレームワークとして複数のマニフェストを簡単に組み合わせし、管理者のニーズに対応するなど、Puppetの潜在能力を100%引き出す仕様となっております。
以下に、その一例を紹介してみます。
マニフェスト3:Javaアプリケーションサーバーのマニフェスト例
上のスクリプトは、Javaのアプリケーションサーバー用のマニフェストの例です。最初に、mpackageとmserviceという2つのアイテムを宣言しています。これは、クロスプラットフォーム環境下でOSごとにパッケージ名やサービス名が異なっていてもその差異を吸収できるよう抽象化するために使われています。
次に、Puppetが後のusersクラスにてmcloudユーザー作成時に必要な$java_dirsに対して配列宣言をしています。
残りの部分では、Puppetが利用する別の配列を宣言しています。この変数も、OSごとの名称の違いを吸収するために利用されています。最後に、配列内のパッケージを参照し、yumクラスがrepoファイルをインストールするよう指示されています。
上記マニフェストに加え、その他モーフ・ラボ社の提供するアプライアンスmCloudシリーズの、コア内の各種機能を活用することで、システム管理者は、WEBユーザーインターフェースからパッケージやサービスを選択し、新たなCompute(mCloudにおける各種設定済み仮想マシンのこと)を定義することができます。以下の図が、Java 1.5サービス設定例です(最新版では日本語UI対応済み)。
図2:新たなComputeの定義(Java1.5設定例) |
なお、Puppetに関するより詳しい情報に関しては、こちらを参照してください。
まとめ
ここまで見てきたように、設定情報管理ツールを利用することで、システム管理者の管理作業や開発者のインフラへの関与を軽減することが可能になります。特に、必要なサーバーが1、2台でなく大規模なシステムになればよりその設定が複雑になるため、そのような管理システムは必須になってきます。モーフ・ラボ社では、社内設定ポリシーの施行管理は、ツールによる自動化以外、その本来の価値を引き出す方法はないと考えています。
反復して利用する典型的な設定や、ミスを犯しやすい設定などは、一度システムに任せる作業を完了すればあとは、システムがより迅速に、より確実にこなしてくれるため、開発チームは、本来集中すべき作業に全精力を注ぐことが可能になるのです。そして、その結果として、短時間でより優れたソフトウエア開発が実現できるようになると考えています。