脱 職人芸への道

   第3回 インフラ勉強会@福岡
           2012/06/29
自己紹介

名前: 松崎 学

所属: 株式会社キャム (SaaS型の経営管理システムを提供中)
       http://www.cam-net.co.jp/
Twitter: matsumana

最近のお仕事:Javaプログラマ(Rubyもほんの少し)、 インフラ

最近の興味: Scala, Ruby, Python, Play, Node.js, AWS,
             Hadoop, Asakusa Framework, MongoDB, Fluentd, Vyatta
早速ですが、
みなさんは何台のサーバ
を管理されてますか?
社内環境

ステージング環境

本番環境
そのサーバの設定変更は
どのようにされてますか?
すべてのサーバを手作業で。

設定ファイルは1台のサーバを手作業。
残りのサーバはrsyncで同期。
コマンド実行は全てのサーバで手作業。

設定ファイルは1台のサーバを手作業。
設定ファイルの配布はlsyncdとrsyncdで。
コマンド実行は全てのサーバで手作業。
まったく同じ構成にしな
いといけないサーバが
 たくさんあったり
  しますよね!?
同じ作業を
  複数のサーバで
   間違わずに
  繰り返し行うの
難しくないですか? ><
  (確認も大変)
このサーバだけ
   設定が
違うんだけど・・・。
このサーバだけ
  バージョンが
違うんだけど・・・。
前任者が辞めた後、
後任者が作業する時に、
残されたドキュメントの
 内容がメンテされて
ない事が発覚・・・。
あるある!
そこで
SCM + Chef + Capistrano
設定の細かい内容は
  ググればいっぱい
    出てきます!

(今日はChef Soloの説明だけです)
cookbooksサンプル
https://github.com/37signals/37s_cookbooks

Chef Installation
http://wiki.opscode.com/display/chef/Installation

Configure chef-solo for use
http://wiki.opscode.com/display/chef/Chef+Solo

Documentation
http://wiki.opscode.com/display/chef/
Documentation
今日はこの書籍の
内容のお話です。
管理対象は?
OSおよびその設定

ミドルウェアスタックおよびその設定
(Webサーバ、APサーバ、DBサーバなど)

基盤管理用ソフトウェア
(ディレクトリサービス、監視システムなど)
       要するに、
 設定ファイル、実行するコマンド、
    パッチ適用などの全てを
 SCMで管理しましょうという事です。
全ての変更がきちんと
 SCMで管理されていれば、
   ステージング環境、
     本番環境での
   リリース作業が楽。
    リスクも低い。
(全ての環境のサーバが同じ設定なので)
サーバ設定変更のテストを
社内環境で行い、万全の体制で
本番環境作業に望みましょう。
  仮想マシンを使えば、
  構成変更時のテストが楽。
(再テストは仮想マシンイメージを
 バックアップから戻すだけ)

インストール手順書や設定手順書を
作るよりも効率的でミスもない。
脱 職人芸!!
Facebookのグループにも
     ぜひご参加ください

福岡インフラ勉強会

https://www.facebook.com/groups/100825430047874/
ご清聴ありがとう
ございました。

fukinfra Vol3 LT 20120629