Reductive Labsのチームは先日、Unix、Linuxサーバのシステム管理を自動で行うための、Ruby製オープンソースツールPuppet 0.25.2のリリースを発表した。今回はバグフィックスリリースであり、123のチケットが解決された他、メモリ使用量の削減や、エラーレポート、スレッディング、ロック競合の改善などが行われている(後者はシステムハングの原因だったようだ)。
クライアント・サーバモデルと、独自の宣言型言語によって、Puppetはサーバー管理の課題の1つ、巨大なデータセンタ展開に必要不可欠な自動サーバー構成管理と配布をいかに確実に行うか、の解決を試みている。2009年11月のGigaOMの記事で、Puppetはクラウドコンピューティングのためのオープンソースリソーストップ11の1つに挙げられている。さらに、Matt Asay氏は、Ciscoは現在のデータセンター戦略の一環として、Reductive Labsの買収を検討すべき、と提案している。
[...] Ciscoは新しいUnified Computingを使ったデータセンタを追い求めており、自動システム管理フレームワークPuppetプロジェクトの製作元、Reductive LabsはCiscoのレーダーとなるべきです。
システム管理者にとっては、カスタムスクリプトで管理タスクを自動化することは、これまでずっと一般的なことだった。このようなカスタムツールセットのメンテナンスは、サーバやOS数、ネットワーク複雑度の増加によって、どんどん複雑になっていく。構成管理ツールはPuppetだけではなく、Mark Burguess氏のCfengineや、Argonne National Laboratoryのコンピュータサイエンス部門で開発されたBCFG2も広く使われているツールである。我々は他のツールとの利点を比較するつもりはないが、そのような議論に興味があるなら、Luke A. Kanies氏のブログを見てみるのがよいだろう。
Puppetの構成管理に対するアプローチは、従来のスクリプトによる自動化のモデルとは異なっている。
- サーバ、サービス、サービスオブジェクト間の関連をモデル化するためのドメイン特化言語(DSL)を提供する。
- インフラを機能的で繰り返し可能なコードで表し、システム管理自動化をソフトウェア開発の領域に近づける。
- Puppetは抽象化は、社内やホスティング施設、クラウドでホストされるサーバファームのため、様々環境の構成管理を要求されるシステム管理者に柔軟性を提供する。
Puppetは活発な開発コミュニティに支えられている。最新リリースにいくつか追加されたものの1つに、Webベースのダッシュボードがある。現在のところ、それは2つの有用な機能を提供している。
- パラメータ、クラス、グループを使ったノード構成
- リアルタイムレポートや変更トラッキングといった、ノード状態のモニタリング
ユーザーコミュニティのフィードバックや機能要求によって追加された、他のオープンソースの新機能と同様、Puppetダッシュボードは頻繁な変更が予想される。ダッシュボードは、システム管理チームの管理対象であるインフラの可視化と要約によって、Puppetの機能セットを補完する。