試練の軌跡

プログラミングで出くわした知識やツール、日常生活、働き方その他色々なことをメモしていくブログ

「来月もプレミアムに過ごすためのインフラ構成管理ツール入門編」に参加しました。

先日、Tech-Circle主催の「来月もプレミアムに過ごすためのインフラ構成管理ツール入門編」に参加しました。 techcircle.connpass.com 私はオリジナルのサービスをHerokuにアップしているのですが、その開発環境の構成管理ができるように構成管理ツールを導入してみたいと最近思うようになり、実際に使われている方の話を聞いてみたいとちょうど思っていました。

講師と発表内容(資料)

講師:@bbrfkrさん
発表内容(資料): 発表内容(資料)はこちらにまとめられております。
詳細はこちらを御覧ください。

www.slideshare.net

講座内で出た質問

印象に残ったところだけですが講座内で出た質問はこんな感じでした。

Q1.Serverspecのドキュメントではshould記法を使うべきかexpect記法を使うべきか?

A.基本的には好きな方を使えば良いと思います。

ここは人によっては議論になりそうですね。ちなみに参考程度ですが、Serverspec開発者の方のツイートがこの記事を書いている時に目に留まりました。

Q2.レシピ(playbook)はどのような流れで作るのか

A.レシピ(playbook)の作り方

  1. 検証環境を作る
  2. 手動で構築する(この時に実行したコマンドを記録しておく(コマンドラインツールのhistory機能がオススメ))
  3. Servespecでテストコードを作成する
  4. 作成したテストコードを実行し、結果がパスしたか確認する これで手動構築したコマンドの品質が担保される
  5. 別の検証環境を作る(もしくは検証環境を一番最初の状態に戻す)
  6. 作成したテストコードの結果がパスしたコマンドをレシピ(playbook)化する
  7. レシピ(playbook)を実行し、自動構築する
  8. 作成したテストコードを実行し、結果がパスされるか確認する これで、レシピ(playbook)の品質=手動構築したコマンドの品質になることが担保される。
  9. 本番環境でレシピ(playbook)を実行する!

※レシピをリファクタリングした場合は、リファクタリングしたレシピで自動構築後に作成したテストコードを実行し、結果がパスされるか確認する

レシピの作り方は人それぞれだとは思いますが大変参考になりました。以前、ドットインストールのAnsible入門をやった時に何故あんなキレイな流れでレシピ(playbook)が作れるのか疑問に感じていたのでこの質問を通して何となく腑に落ちました。試行錯誤しながらレシピ(playbook)を作っているのですね。 この他の作り方を周りに聞いてみるのは参考になりそうです。

LT枠

LTで参加された方のslideはこちらです。

Takeshi Kuramochiさん

www.slideshare.net

@setoazusaさん

www.slideshare.net

@ike_daiさん

www.slideshare.net

感想

このイベントを通して、構成管理ツールにチャレンジするモチベーションが上がりました。
itamaeとAnsible、どちらを使うかは悩みますがまずはどちらも軽く触ってみてどっちが自分にとって使いやすそうか模索してみるのが良いのかもしれません。
イベント終了後、@bbrfkrさんにこれから構成管理ツールを入門する人向けのオススメ本を聞いてみたところ「入門Ansible」という本をご紹介頂きました。

出版年数は少し古いですが、基本的な使い方やplaybookの作り方など一通り学べるそうです。
チェックしてみます!