システム管理者が作り上げるネットワーク管理ツール Func
現在のネットワーク管理ソリューション市場は、OpenViewのHewlett-PackardやTivoliのIBMなど、大規模な製品を持つ大企業によって占められている。「たくさんのツールが販売されている」が、大規模一体型のソリューションであるため何百万ドルという費用がかかる。「一部の機能だけを導入しようと思っても大規模なインフラストラクチャーが必要になる」からだ
Funcはそういった類のソリューションではない。小さくてカスタマイズ可能、しかもフリー。ネットワーク管理のインフラストラクチャーが持つべき機能の中で最も重要なタスク自動化機能だけを提供し、不必要なものを削ぎ落とした。そして、簡潔なプログラミング・インタフェースを備えている。あまりにも自明ですでに誰かが書いているはずと誰もが思うようなツールだ。しかし、今まで誰も書いてはいなかった。
開発者のSeth Vidal氏は次のように話している。「今まで(システム管理の作業が)これほど簡単になるツールはありませんでした。システム管理者は、中央にあるサーバーからほかのサーバーに接続し一群のタスクを実行するという作業を頻繁に行っています」。Funcはサーバー間で安全に通信するための基本的な枠組みを提供する。したがって、システム管理者はそれぞれの環境に合わせて必要なタスクを自動実行するスクリプトを作ることに専念できる。「必要なものをいくらでも積み上げていけますし、Funcではすぐに成果が出ます。完成品ではありませんが、今設定し、その15分後には成果を(上司に)見せることができるのです。簡単なテスト用スクリプトを実行するだけでもインフラストラクチャーの設定に4~5日必要だとしたら気が重くなります」
「しかし、Funcなら極めて容易に全マシンにインストールしカスタマイズすることができますし、新しいモジュールを追加するのもごく簡単です。たとえば、私は、Funcでインベントリー・アプリケーションを作りました。構成されているサービスを調べ変更されたら知らせるというものです。200行のコードを半日で書きあげました」。これはFuncInventoryというモジュールだ。環境に合わせて基準を設定すればどこででも使うことができる。このほか、ハードウェアのプロファイルを収集するものや、プロセスの情報を収集したり停止させたりするものがある。モジュールの追加は簡単。モジュールを作り、Funcをインストールしたときに作られたmodulesディレクトリーにコピーするだけだ。
「Funcのコミュニティーを作りたいと思っています。システム管理者は有能な人たちですから、彼らを結集して、各自の工夫、コード、ソフトウェア、スクリプトを共有することで、より強力なシステム管理ツールを構築できるだろうと思うのです。多くの大規模ソフトウェア・アプリケーションは利用者の意見を聞いて作られてはいません。ですから、システム管理者のニーズを基にゼロから作り上げたいのです。私たちにも有能な人材が何人かいますが、OpenViewレベルのものとなると手には負えません。しかし、すべてのシステム管理者が取り組めば可能です。それには、共同開発できる環境が必要です。彼らは実際に使うであろう機能に取り組むでしょう」
Funcの中核開発者たちは、Funcが日用品――ネットワーク管理のコストが大幅に削減され自動化機能を強化するシステム管理者の「必需品」――となることを期待している。「システム管理者が必要とするツールを開発できるコミュニティーがあったら、Funcはどのような形で使われるでしょうか。おそらく、システム管理者にとって持っていたくなるもの、『これがなければ始まらない』と言われるようなものになるでしょう」(DeKoenigsberg氏)
DeKoenigsberg氏は、FuncをRed Hatの新しいLinux自動化戦略「certify once, deploy anywhere」の中心と考えている。「これもその一つです。ただし、今前面に押し出すつもりはありません。まだ生まれたばかりですから。しかし、自動化戦略の中核の一つになる可能性を秘めています」
「私がyumの仕事を始めたのは4年前のことです。皆さん『使える』と評価はしてくれましたが、おそらく自分のエンタープライズ・システムで使おうとは思っていなかったでしょう。しかし、今では既定のアップデーターになっています。私たちは、yumをがらくたにはせず、時間をかけて必須のツールに仕上げたのです。同じように、現在のFuncは(一体型)システムを置き換えるほどにはなっていませんが、私たちはその将来性に期待しています」
Tina Gasperson ビジネスやテクノロジーに関する記事を執筆、業界で著名な雑誌に掲載されている。1998年からフリーランス。