Chef (ソフトウェア)

RubyとErlangで記述された構成管理ツール

Chef(シェフ)は、同名の企業によって開発されるRubyErlangで記述された構成管理ツールである。システム構成の「レシピ」の記述には、ピュアRubyのドメイン固有言語 (DSL)を使用する。 Chefは、サーバーの構成と保守のタスクを合理化するために使用され、Internap、Amazon EC2Google Cloud PlatformOracle CloudOpenStackSoftLayerMicrosoft Azure、Rackspaceなどのクラウドベースのプラットフォームと統合して、自動的にプロビジョニングし、新しいマシンを構成する。 Chefには、小規模システムと大規模システムの両方に対応するソリューションが含まれており、それぞれの範囲に応じた機能と価格が設定されている。

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
プログラミング
言語
対応OS GNU/Linux, AT&T Unix, MS Windows, FreeBSD, Mac OS X, IBM AIX, illumos
サポート状況 Active
種別 構成管理システム管理ネットワーク管理クラウド管理継続的デリバリーDevOpsInfrastructure as Code
ライセンス Apache License 2.0
公式サイト www.chef.io
テンプレートを表示

機能 編集

ユーザーは、Chef がどのようにサーバアプリケーションやユーティリティ (例えば Apache HTTP ServerMySQLHadoop) を管理・設定するかを「レシピ」に書き込む。 レシピは管理の簡単のために「クックブック」としてまとめることができる。 レシピには一連のリソースがどのような状態であるべきか、例えばパッケージがインストールされているとか、サービスが起動している、あるいはファイルが書き込まれている状態であるべきことを記述する。 これらのリソースは、実行するソフトウェアを特定のバージョンに設定することができ、ソフトウェアが依存性に基づいて正しい順番でインストールされることを保証することが可能である。 Chefは、それぞれのリソースが正しく設定されるようにし、望ましい (desired) 状態でないリソースを修正する。 [4]

Chef はクライアント/サーバモードで、あるいは「chef-solo」と呼ばれるスタンドアローン設定で実行できる。 クライアント/サーバモードでは、Chef クライアントはノードの様々な属性を Chef サーバへ送信する。 サーバーは Elasticsearch を使ってこれらの属性をインデックスし、この情報を問い合わせる API をクライアントに提供する。 Chef レシピはこれらの属性を問い合わせ、結果のデータを使ってノードを設定するのに役立てることができる。[要出典]

もともと Chef は Linux を管理するのに使われていたが、後のバージョンでは Microsoft Windows にも同様に使用できるようになった[5]

Linux では CFEngine英語版AnsiblePuppet に並んでメジャーな構成管理システムの1つである[6][7]。 構成管理ツールである一方、Chef は Puppet や Ansible と並び Infrastructure as Code (IAC) ツールの1つでもある[8]

プラットフォームサポート 編集

Chefは、クライアントおよびサーバー製品のサポートされるプラットフォームマトリックスに従って、複数のプラットフォームでサポートされる [9]。クライアントの主要なプラットフォームサポートには、AIXRHEL / CentOSFreeBSDOS XSolarisMicrosoft WindowsおよびUbuntuが含まれる。 追加のクライアントプラットフォームには、Arch LinuxDebianFedoraが含まれる。Chef Serverは、RHEL / CentOSOracle LinuxOracle CloudUbuntuでサポートされている。

利用企業 編集

Chefを採用する企業には、Facebook [10]AWS OpsWorksPrezi [11]BlackLine英語版、およびアメリカ合衆国移民・関税執行局などがある[12]

出典 編集

  1. ^ Announcing Chef”. chef.io (2009年1月15日). 2017年1月9日閲覧。
  2. ^ Chef Infra Client 16.6.14 Released!”. chef.io (2020年10月14日). 2021年1月10日閲覧。
  3. ^ Chef Server 14.0.65 Released!”. chef.io (2018年10月26日). 2021年1月10日閲覧。
  4. ^ Chef - Code Can | Chef, https://www.chef.io/ 2015年7月4日閲覧。 
  5. ^ Cade Metz (2011-10-26), “The Chef, the Puppet, and the Sexy IT Admin”, Wired, https://www.wired.com/2011/10/chef_and_puppet/ 2015年7月4日閲覧。 
  6. ^ Alan Sharp-Paul (2013-03-04), Puppet vs. Chef - The Battle Wages On, http://www.scriptrock.com/blog/puppet-vs-chef-battle-wages 2015年7月4日閲覧。 .
  7. ^ Lueninghoener, Cory (2011-03-28), “Getting Started with Configuration Management” (PDF), ;login:英語版 (Usenix) 36 (2), https://www.usenix.org/system/files/login/articles/105457-Lueninghoener.pdf 2015年7月4日閲覧。 
  8. ^ Keiser, John (2016年11月14日). “Chef Provisioning: Infrastructure As Code”. 2020年8月18日閲覧。
  9. ^ Platforms — Chef Docs”. chef.io. 2017年1月9日閲覧。
  10. ^ Facebook uses a seasoned Chef to keep servers simmering”. pcadvisor.co.uk. 2014年1月6日閲覧。
  11. ^ How Chef Enables the DevOps Culture at Prezi - Zsolt Dollenstein. YouTubeより。[リンク切れ]
  12. ^ A Personal Message From the CTO” (英語). Chef Blog (2019年9月20日). 2019年9月21日閲覧。

関連項目 編集

外部リンク 編集