Chef (ソフトウェア)
![]() | |
開発元 | Chef Software Inc. |
---|---|
初版 | 2009年1月[1] |
最新版 | |
リポジトリ |
github |
プログラミング 言語 | |
対応OS | GNU/Linux, AT&T Unix, MS Windows, FreeBSD, Mac OS X, IBM AIX, illumos |
サポート状況 | Active |
種別 | 構成管理、システム管理、ネットワーク管理、クラウド管理、継続的デリバリー、DevOps、Infrastructure as Code |
ライセンス | Apache License 2.0 |
公式サイト |
www |
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、Ansible、Puppet に並んでメジャーな構成管理システムの1つである[6][7]。 構成管理ツールである一方、Chef は Puppet や Ansible と並び Infrastructure as Code (IAC) ツールの1つでもある[8]。
プラットフォームサポート
[編集]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、およびアメリカ合衆国移民・関税執行局などがある[12]。
出典
[編集]- ^ “Announcing Chef”. chef.io (15 January 2009). 9 January 2017閲覧。
- ^ “Chef Infra Client 16.6.14 Released!”. chef.io (2020年10月14日). 2021年1月10日閲覧。
- ^ “Chef Server 14.0.65 Released!”. chef.io (2018年10月26日). 2021年1月10日閲覧。
- ^ Chef - Code Can | Chef 2015年7月4日閲覧。
- ^ Cade Metz (2011-10-26), “The Chef, the Puppet, and the Sexy IT Admin”, Wired 2015年7月4日閲覧。
- ^ Alan Sharp-Paul (2013-03-04), Puppet vs. Chef - The Battle Wages On 2015年7月4日閲覧。.
- ^ Lueninghoener, Cory (2011-03-28), “Getting Started with Configuration Management” (PDF), ;login: (Usenix) 36 (2) 2015年7月4日閲覧。
- ^ Keiser, John (14 November 2016). “Chef Provisioning: Infrastructure As Code”. 2020年8月18日閲覧。
- ^ “Platforms — Chef Docs”. chef.io. 9 January 2017閲覧。
- ^ “Facebook uses a seasoned Chef to keep servers simmering”. pcadvisor.co.uk. 6 January 2014閲覧。
- ^ How Chef Enables the DevOps Culture at Prezi - Zsolt Dollenstein. 2024年3月25日時点のオリジナルよりアーカイブ。YouTubeより。
- ^ “A Personal Message From the CTO” (英語). Chef Blog (2019年9月20日). 2019年9月21日閲覧。