マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Chef

【OSS情報アーカイブ】Chef

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Chef」とは

基本情報

概要

Chef(シェフ)とは、構成管理(プロビジョニング)ツールです。ユーザ作成、パッケージインストール、設定ファイル編集などの展開作業を自動化します。物理環境/仮想環境/クラウド環境などの各種インフラに対応します。

基本説明

Chefは、米Chef Software社を中心に開発されています。

システム各種設定、アプリケーション/ミドルウェア/コンポーネントなどのソフトウェアインストールを自動化できます。インフラ環境構築を簡単に行うための便利な機能が搭載されています。

Rubyで実装されているのが特徴です。インフラ構成情報もRubyを使ってコードで管理します。

Windows、Linux、Mac OSなど複数のプラットフォームに対応しています。

導入メリット

・構築/運用コストの削減
・構築/運用ノウハウの共有
・構築のやり直しがきく
・作業時間の短縮
・複数サーバへ一括適用
・作業ミスが発生しない

主な特徴

「Infrastructure as Code」

「インフラをどのように構築し、維持されるべきか」という定義は、Rubyで記述され、ソースコードのように扱います。

コードによってインフラの構成管理を行えることが、Chefの大きな特徴であり利点です。

設定階層構成「Repository」「Cookbook」「Recipe」

「Recipe」=実際に実行させる構成設定ファイル
「Cookbook」=特定の構成対象に対して必要なRecipeをまとめるための構成設定ファイルセット
「Repository」=Chefの実行に必要となる一連の「Cookbook」をまとめる入れ物

『Repository >Cookbook> Recipe』という階層関係になります。

Nginxの設定を作成したい場合は、まず「Repository」を作成して、Nginxの「Cookbook」を作成して、その中に実際のNginx設定ファイルとなる「Recipe」を作成していく形となります。

「Cookbook」

処理内容や対象とするアプリケーションごとにCookbookを作成するのが一般的です。

アプリケーションインストール設定(MySQL、Apacheなど)、ユーザ作成、システム管理など、さまざまなCookbookが公開されていて、そのまま利用することもできます。

「Recipe」

Recipeは、インフラをあるべき姿に構築し、維持する具体的なプログラムコードというイメージです。

Rubyの文法を用いて、Chef専用の命令コマンド「Resource」を使用して記述します。

Resourceを自作したり、Ruby、Perl、Python、bashなどのスクリプトを直接実行することも可能です。

「べき等性」何度繰り返しても同じ結果に

「べき等性」とは「ある操作を何度行っても結果が同じになる」という概念です。

作業手順を記述するのではなく、「システム構成をこのようにしたい」という「あるべき構成」を記述します。

ただし、自作したCookbookやRecipeの書き方によっては、べき等性が保証されないことがあります。

「クライアント・サーバ形式」と「スタンドアロン形式」

大規模インフラ構成向きの「クライアント・サーバ形式」と、小規模インフラ構成向きの「スタンドアロン形式」があります。

コマンドラインインターフェイス「Knife」

「Knife」は、Chefのコマンドラインインターフェイスです。

多数のプラグインが作成されており、「IaaS上にインスタンスを作成し、Chef環境を構築する」などの使い方も可能です。

システムの状態を容易に確認できる

設定管理は一貫してChefで行う運用であれば、コード参照のみで設定値などを確認できます。

同様製品(概要情報)

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Puppet」「Ansible」「Crowbar」など。

導入事例

Chefの利用実績としては、
・CyberAgent
・GREE
・nanapi
・Facebook
などがあります。

Facebookは、数十万台規模のサーバ群をすべてChefで管理しているとされています。

ライセンス情報

Chefのライセンスは、「Apache License 2.0」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

経済産業省による「 生成AI 利活用ガイドブック 」は、企業やクリエイター向けに、安心して「生成AI」を利用するための、「指針」「実例」「注意点」を明示しています。「業務効率化」や「新しいアイデア創出」の支援を目的としています。

【デジタル寺田の3分用語解説】「企業によるベンダー、SIerへの 訴訟 」とは?〜日本通運がアクセンチュアを提訴〜🏢

デジタル寺田の3分用語解説

2024.11.25

【デジタル寺田の3分用語解説】「企業によるベンダー、SIerへの 訴訟 」とは?〜日本通運がアクセンチュアを提訴〜🏢

企業がベンダー(SIer)に対する 訴訟 の背景や原因を解説します。日本通運とアクセンチュアの125億円訴訟に加え、他の大規模な紛争事例も紹介します。プロジェクト管理や要件定義の重要性を具体例で説明し、成功への鍵を探ります。

【デジタル寺田の3分用語解説】自然言語でアプリ開発「 GitHub Spark 」とは?⚡

デジタル寺田の3分用語解説

2024.11.25

【デジタル寺田の3分用語解説】自然言語でアプリ開発「 GitHub Spark 」とは?⚡

「 GitHub Spark 」は、コードを書かずに自然言語でアプリを作成できるAIツールです。アイデアを言葉で伝えるだけで、AIが自動的にアプリを作成します。リアルタイム編集や自動デプロイに対応し、初心者でも簡単にアプリ開発を楽しめます。