Chef
概要
Chefとは、システム設定やソフトウェアの導入(インストール)などを自動化、効率化する構成管理ツールの一つ。米プログレスソフトウェア(Progress Software)社が開発・販売しており、オープンソースソフトウェアとしても公開されている。従来はシステム管理者が個別に操作していた、ソフトウェアパッケージの導入やオペレーティングシステム(OS)の設定変更、ユーザーアカウントの管理などを「レシピ」(recipe)と呼ばれる設定ファイルに基づいて自動的に処理してくれる。
レシピには操作や手順を直接記述せず、システムの個々の要素があるべき姿を書き入れ、これを元に最適な操作をChefが判断して実行する。Chef自体はプログラミング言語のRuby(クライアント側)およびErlang(サーバ側)で開発されており、レシピはRubyを元に独自に規定された独自のドメイン固有言語(DSL)で記述する。
管理者が操作しているコンピュータ自体を設定対象とするスタンドアローン版(chef-solo)の他に、レシピを他のコンピュータに配布して自動設定するクライアントサーバ版も用意されている。管理者はサーバにレシピを配置して多数のクライアントに一斉配信することができ、クライアントがこれを受信して設定を適用する。
Chefの初版は米オプスコード(Opscode)社が2009年に発表し、同社は2013年にシェフ(Chef)社に改名、2020年に同業のプログレスに買収された。Linuxをはじめとする各種のUNIX系OSやmacOS、Windowsに対応する。同社ではサポート付きの有償版を販売しているが、ソフトウェア本体はApache Licenseに基づきオープンソースとして公開されている。
(2021.8.28更新)