マジセミドライブ

ウェビナー関連のニュースや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」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

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

この記事のタグ一覧

おすすめの記事

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

OSS情報

2024.07.18

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

「 GPT-NeoX 」は、GPU上で大規模言語モデル(LLM)を効率的にトレーニングするためのライブラリです。NVIDIAのモデルを基に独自の最適化が加えられ、オートレグレッシブ言語モデルのトレーニング手法を集約しています。

経営活動に活用できる 原価管理 を実現するには? 〜製造業の現実的な課題に向き合い、現場視点から改善する原価管理手法の必達プロセスをご紹介〜

ウェビナーまとめ

2024.05.15

経営活動に活用できる 原価管理 を実現するには? 〜製造業の現実的な課題に向き合い、現場視点から改善する原価管理手法の必達プロセスをご紹介〜

2024年3月12日に三菱電機ITソリューションズ株式会社とアットストリームパートナーズ合同会社の共催で、組立加工製造業向けのセミナー「なぜか高くなる原価を管理する 不確実性の時代を乗り切るためのコスト戦略とは」が開催されました。本セミナーでは、製造業における原価管理の現状と改善手法について深く掘り下げ、経営活動への具体的な活用方法を提示しました。今回は、その講演の要点をお伝えします。

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

OSS情報

2024.07.04

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

「 Hoppscotch 」は、オープンソースのAPI開発エコシステムで、使いやすさとアクセシビリティを重視した軽量なWebベースのスイートです。無料版と有料版があり、PostmanやInsomniaの代替として利用可能です。