読者です 読者をやめる 読者になる 読者になる

Selection for my Life

いま、僕にできること。

今さらながら Chef をカジッてみました。

かなり流行ってました Chef をかじってみたので、感想を。

まずはじめに

どうやってはじめるん Chef ?
インターネットでも情報が満載です。ネットの力を感じます。笑

ネットだと、それぞれの環境やバージョンだったりで、情報にズレを感じました。
結局、会社にあった書籍

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)

を参考にしました。
この書籍の2章まで読めば Chef はじめられます!


Chefでなにする?
書籍を読んだだけでは、なかなか理解できません。
サンプルで簡単たレシピを作成することにして、学習を進めたら良いです。
具体的に何か案件があればよいのですが、今回は、

「nginxでwordpressを構築する」
でchefを使ってみることにしました。

こんな感じのレシピを書きました。
レシピの書き方は、ネットにたくさん記載されています。ここで記載する事項は無いのですが、
ネットによく記載されているサードパーティーのレシピをgitから落として、実行すると一応インストールできるのですが、サードパーティーのレシピはとてもよくできていて、学習初心者には中で何をしているのか分かりにくいです。Rubyの文法を理解していないとチンプンカンプン。

そこで、簡単か学習方法として、
まずは、自分で実行しているLinuxコマンドをそのままchefレシピの command で置き換えてしまうことです。
まずは、コマンドを置き換えて、その後、「すでにインストールされていた場合」などの条件分岐をRubyで、レシピに追加していきます。そうすることで、自分が何をやっているのかが理解できて、同時にRuby文法に慣れます。それができると、サードパーティーのレシピがよくできているかを理解できます。


体感した学習コスト
学習したことと、気がついた事項をメモしておきます。

- Rubyの学習
Rubyを知らなくても、プログラムを書いたことがあれば、理解にそれほどコストは掛からないと思います。
レシピを書くだけなら、Rubyの言語をそれほど深く知る必要がないので、必要構文を習得すればOKだと思います。

- Chefの概要
これが結構混乱します。Chef / Kinfe , chef-solo / knife-solo など。
運用する規模にもよると思いますが、「ちょっと試すか」の時点だと、とても多くの機能があるので、
なにがどれで、どのように構成しているのかを学習するのが面倒に感じます。
でも、Chefの機能はとても充実していると思います。大規模運用にも実績があるので、Chefはいろいろできるんだなぁ〜って驚きます。

- 使用コマンド
Chefの概要の部分と関係があるのですが、「ちょっと試す」場合に必要になるコマンドはとても少ないです。
充実した使い方や運用情報がネットに記載されているがために、情報過多で、お試しするには混乱しそうです。


こんな感じで、chefをカジッてみました。
ちょっと知ってからネットや書籍を再度確認すると、chefの充実ぶりがよくわかります。
小規模構成だとオーバーリッチを感じるほどです。でも流行なので、少しはカジッておいて損はないかな。