Chefとは
Chefは、サーバの構築や運用を自動化するツールです。Rubyを使ってコードを記述することで、ソフトウェアのインストールや設定などを指定し、サーバをあるべき状態にします。
Chefでインフラ構成を自動化するメリット
Chefによりインフラ構成をコードで記述し、自動化するメリットには次のようなものがあります。
複数台へ一括適用できる
従来は、サーバが増えると、その台数分作業を繰り返す必要がありました。Chefを利用すれば、サーバの台数が増えても書いたコードを適用すればよいだけなので、構築にかかる時間を大幅に削減できます。
コードが手順書になる
作業の手順を記録するには手順書を作成することが多いのですが、手順が変更されたときにそれが反映されないことも多く、書かれている手順が正しいのかわかりません。一方、インフラ構成自体をコードで管理すれば、コード自体が最新の手順書になります。
作業ミスが起こらない
これまでの手順書などに従って人手で作業する方法では、手順を抜かすなど作業ミスが起こる可能性があります。Chefを利用すれば、一度コードで適切に記述すれば手順を間違える心配はありません。
再利用できる
手順書はプロジェクトやサービスごとに作ることが多く、ほかのプロジェクトで再利用することは難しい状態でした。Chefによりコードで表現すれば、ほかのプロジェクトでも簡単に再利用できます。
本書の紹介
本書は、Chefの実践的な使い方を解説した書籍です。まずはスタンドアロンで利用できるChef Soloを利用し、設定ファイルとなるクックブックの書き方を解説します。そして、現場でよく利用する環境をChefを使って構築するためのノウハウや、クックブックのテスト、継続的インテグレーションなど実践的な解説も行います。後半では、つまずきがちなポイントや、Chef Serverを利用した大規模環境の構築・運用方法を解説しています。コードを出しながら解説しているので、すぐに役立つ知識が身に付くはずです。Appendixでは、日々の作業に役立つコマンドやクックブックの書き方のチートシートを掲載しています。