BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Puppet Labsが次世代Puppet Serverを発表

Puppet Labsが次世代Puppet Serverを発表

ブックマーク

原文(投稿日:2014/09/24)へのリンク

Puppet Labsは現在,年次のPuppetConfカンファレンスを開催中だ。今年は速度の向上した次世代Puppet Serverに合わせて,Puppet Enterprise製品用の新しい管理機能とレポート機能,新たなPuppet Appsのローンチを発表した。

新世代Puppet Server

Puppert LabsはPuppet Serverプロジェクトを新たに立ち上げた。これは現行のPuppetマスタに代わるもので,PuppetDBで使用しているのと同じJVMスタックを採用し,新しい機能としてClojureを,既存のRubyコードベースを実行するためにJRubyを備える。また新サーバでは,従来よりもサーバ志向のアーキテクチャを採用することで,小規模インストレーションでは異なるサービスを同一サーバ上で実行し,負荷の増加に従って水平スケールすることが可能になる。Puppet Labs CEOのLuke Kanies氏はパフォーマンス向上に関して,JVMベースのサーバとApache/Passenger上で動作する3.6 Puppetマスタを比較した場合,リクエスト応答で3倍,カタログのコンパイル時間では2倍高速だと説明している。

Puppet Serverは,Pupper Enterpriseの次期バージョンの一部としてリリースが予定されている。また,既存のPuppetにドロップインリプレース可能なプレビューリリースが公開中だ。

Puppet Appsの導入

Puppet Appsは,アップデートの頻度を上げる目的で,Puppetコードベースから独立してリリースされる専用アプリケーションである。Puppet Enterpriseユーザの既存ライセンスをベースとして,Puppet Enterprise 3.4から提供が開始されている。

その第1段であるPuppet Node Managerは,オペレーティングシステムや地理的ロケーション,IPアドレスなどの重要な特徴を基準にノードをグループ分けする,ルールベースの分類機構である。人手の介入を必要とせず,自動的にアップデートされる,スマートなノードコレクションを生成する。

Puppet Node ManagerはPuppet Enterprise 3.4の一部として,第4四半期のリリースが予定されている。他のPuppet Appsも2015年初めには提供される予定だ。

新しい管理機能とレポート機能

新しくなったPuppet Enterprise 3.4リリースには,新たな管理機能が含まれている。

  • Roll-Based Access Control (RBAC): さまざまな粒度のRBAC機能によって,Puppet Enterpriseノードをセグメント化することより,チーム単位から個人に至るまで,管理タスクの委譲が可能になる。例えば,アプリケーションチーム単位でインフラストラクチャをセグメント化すれば,他のアプリケーション開発に影響を与えることなく,自分たち自身のサーバを管理することができる。Microsoft Active DirectoryやOpenLADPといった,標準的なディレクトリサービスとの統合も可能だ。新しいRBACサービスは,当面はPuppet Node Managerによって使用されるが,今後のリリースで,他のPuppet Appsやサービスでも利用可能になる予定だ。

  • Puppet Server Reporting: 新しいプロファイラとMetrics Serviceによって,アクティブな要求数や要求間隔,実行時間,コンパイルロードといったPuppet Serverの状態やパフォーマンスに関連する主要な測定値をトラッキングして記録する。これにより,JMXをサポートする任意のサードパーティアプリ,あるいはGraphiteサーバによって,監視や警告を行うことが可能になる。セットアップの便宜を図るため,パフォーマンスとシステム状態をレポートするGraphiteの設定済みパッケージも提供される。

Puppet言語のアップデート

次バージョンのPuppet言語では,コードの記述やメンテナンスを容易にするための拡張が行われている。

新しい機能には,次のようなものがある。

  • ラムダとイテレーション: each, map, filterなどの関数で,ラムダを使用したコードブロックの適用が可能だ。イテレーションは,Rubyでコードを記述しなくても使用することができる。
  • データシステム: 新しいデータ型システムにより,クラスパラメータ型の定義が可能になる。クラスの使用時には,Puppetによる型チェックが行われる。
  • Puppetテンプレート: Rubyではなく,Puppet言語を使用してテンプレートを記述することが可能。テンプレートはコンテナマネージャ内で,Puppetによって実行される。
  • エラー処理: これまでよりも詳細なエラー情報の提供と,問題を検出した場所の正確な指示が可能になる。

最新リリースであるPuppet 3.7の言語拡張に関するプレビューは,PuppetのFuture Parserで見ることができる。これらの機能は,Puppetのマスタ設定で parser = future を使用するか,あるいはクライアントで --parser future コマンドラインオプションを使用すれば有効になる。3.7で提供される言語は最終仕様と考えられている。Future Parserは,2015年初めにリリースされるPuppet 4でデフォルトになる予定だ。

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT