Chef
開発元Chef Software Inc.
初版2009年1月 (15年前) (2009-01)[1]
最新版
16.6.14 (クライアント) 2020-10-15[2]
14.0.65 (サーバ) 2020-10-26 [3]
リポジトリgithub.com/chef/chef
Chef(シェフ)は、同名の企業によって開発されるRubyとErlangで記述された構成管理ツールである。システム構成の「レシピ」の記述には、ピュアRubyのドメイン固有言語 (DSL)を使用する。 Chefは、サーバーの構成と保守のタスクを合理化するために使用され、Internap、Amazon EC2、Google Cloud Platform、Oracle Cloud、OpenStack、SoftLayer、Microsoft Azure、Rackspaceなどのクラウドベースのプラットフォームと統合して、自動的にプロビジョニングし、新しいマシンを構成する。 Chefには、小規模システムと大規模システムの両方に対応するソリューションが含まれており、それぞれの範囲に応じた機能と価格が設定されている。 ユーザーは、Chef がどのようにサーバアプリケーションやユーティリティ (例えば Apache HTTP Server、MySQL や Hadoop) を管理・設定するかを「レシピ」に書き込む。レシピは管理の簡単のために「クックブック」としてまとめることができる。レシピには一連のリソースがどのような状態であるべきか、例えばパッケージがインストールされているとか、サービスが起動している、あるいはファイルが書き込まれている状態であるべきことを記述する。これらのリソースは、実行するソフトウェアを特定のバージョンに設定することができ、ソフトウェアが依存性に基づいて正しい順番でインストールされることを保証することが可能である。Chefは、それぞれのリソースが正しく設定されるようにし、望ましい (desired) 状態でないリソースを修正する。[4] Chef はクライアント/サーバモードで、あるいは「chef-solo」と呼ばれるスタンドアローン設定で実行できる。クライアント/サーバモードでは、Chef クライアントはノードの様々な属性を Chef サーバへ送信する。サーバーは Elasticsearch を使ってこれらの属性をインデックスし、この情報を問い合わせる API をクライアントに提供する。Chef レシピはこれらの属性を問い合わせ、結果のデータを使ってノードを設定するのに役立てることができる。[要出典] もともと Chef は Linux を管理するのに使われていたが、後のバージョンでは Microsoft Windows にも同様に使用できるようになった[5]。 Linux では CFEngine Chefは、クライアントおよびサーバー製品のサポートされるプラットフォームマトリックスに従って、複数のプラットフォームでサポートされる [9]。クライアントの主要なプラットフォームサポートには、AIX、RHEL / CentOS、FreeBSD、OS X、Solaris、Microsoft WindowsおよびUbuntuが含まれる。 追加のクライアントプラットフォームには、Arch Linux、Debian、 Fedoraが含まれる。Chef Serverは、RHEL / CentOS、Oracle Linux、Oracle Cloud、Ubuntuでサポートされている。 Chefを採用する企業には、Facebook [10]、AWS OpsWorks、Prezi [11]、BlackLine
機能
プラットフォームサポート
利用企業
出典^ “Announcing Chef”. chef.io (2009年1月15日). 2017年1月9日閲覧。