創屋ぷれす

Chefとは

Chefについて調べました

Chefとは・・・
サーバー管理ツールでファイルに記述した設定内容に応じて自動的にユーザーの作成や
パッケージのインストール、設定ファイルの編集などを行うツールです。

オープンソースソフトウェアで、Rubyなどのオープンソースな技術を使って実装されています。
Chefにいくつかの機能を追加した有償版の「Private Chef」やクラウド型の「Hosted Chef」といったサービスもあるそうです。

似たようなものにPuppetがありますが、
Chefでは「Cookbook(クックブック)」や「Recipe(レシピ)」と呼ばれる設定ファイルの再利用がしやすい構造になっている点が特徴です。

ChefのRecipeはRubyスクリプトとなっているためRubyとの親和性が高く、Rubyの知識がある人にとっては
その動作の仕組みや構造を理解しやすいというメリットがあります。ただ、エラー発生時には
Rubyの出力するエラーメッセージを読まなければならないため、逆にRubyの知識がない人にとってはトラブルシューティングのハードルが高いかもしれません。

手順書からコマンドをコピペして、ユーザ作成してWebサーバいれてDBいれて。。あとからこのパッケージが必要になったから手順書を変更して。。
とやってるとミスしやすいです。Chef はインフラをすべてコードで管理するので、Gitなどでインフラを管理でき、
いつどこで誰が修正したのか分かります。ドキュメントや構築手順書のメンテナンスに追われること無く、
一度書いてしまえばサーバの台数によらず全部自動化できるので、大幅にインフラエンジニアのリソースを削減できるようになります。

Comments are closed.