Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03

11,202 views

Published on

Published in: Technology

春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03

  1. 1. 春を先取り! OpsWorks と Chef ではじめる恋色コーデ術!
  2. 2. 自己紹介:小宮 健 Twitter: @tk0miya 仕事  (株)タイムインターメディア所属  テクニカルオフィサ(技術責任者)として活動 参加コミュニティ  Sphinx-users.jp  Python mini hack-a-thon Sphinx を中心にツールを開発  blockdiag シリーズ  Sphinx 拡張機能の開発  Googlechart やカレンダー機能 #bookathon 他読書会やってます
  3. 3. 春を先取り! OpsWorks と Chef ではじめる恋色コーデ術!
  4. 4. コーデ術の紹介?
  5. 5. コーデ術の紹介?…あれはウソだ。
  6. 6. コーデ術の紹介?…あれはウソだ。
  7. 7. Sphinx の方から来ました 小宮健
  8. 8. Chef のおはなし
  9. 9. 環境構築を自動化しよう 手順書を破り捨てろ オレオレ環境の撲滅 リリース後の土下座を減らす 開発環境は 3分ぐらいで構築したいよね  個人の印象です  実際にはもう少しかかります そうだ、Chef を使おう
  10. 10. Why chef? 冪等性 (べきとうせい) community cookbooks
  11. 11. 冪等性 (べきとうせい) 「あるべき姿」を定義しておくと… 何度実行しても同じ結果になる まっさらなサーバ 途中までセットアップされたサーバ 最新状態のサーバ すべて「あるべき姿」になる 手続き型ツールは順序重要(差分更新) Capistrano とか Fabric とか
  12. 12. community cookbooks 大抵のツール向けの設定が集約  Chef をはじめる場合はまずはここを見 る  必要な物がなかったら自分で書く 再利用の精神  自分で書かず再利用する  設定の調整は attributes を使う  理想: ほとんど書かない
  13. 13. chef の種類 chef-server  大規模用  設定の自動反映 chef-solo 〜20台ぐらいなら  小規模用 Chef-solo で十分(らしい)  手動で実行する ホスティング  有料プラン
  14. 14. chef-solo ことはじめ vagrant librarian attributes を書く 実行する
  15. 15. Vagrant ベイグラント って読むらしい virtualbox の CLI ラッパー  最近 AWS や VMWare Fusion にも対応 VM の作成/起動/削除が簡単になる chef の試行錯誤に最適
  16. 16. librarian cookbook 管理ツール  依存性解決とダウンロード  communitys, github, local Bundler, requirements.txt みたいなもの Chef 使うなら最初に覚えたい 類似ツールに Berkshelf  どちらを使ってもよい
  17. 17. Attributes を書く json 形式で書いていく run_list  利用する cookbooks 一覧 各 cookbook 用の設定  内容は cookbook の README を見てね
  18. 18. 実行する chef-solo -j solo.json -c solo.rb 以上。
  19. 19. もっと効率よく使う 微調整用に my cookbook を作る vagrant の chef 連携は使わない  実験や学習には便利だが…  実環境に適用しづらい capistrano 経由で実行する  roundsman プラグイン  リモート実行、並列実行が可能
  20. 20. Chef 最高! 自分で書く量は少ない 自動的にうまくやってくれる 手順書をなくせる/減らせる
  21. 21. そうは問屋が卸しません
  22. 22. いくつも罠が待ち構えています
  23. 23. 待ち構えている罠たち(1) まだ chef 情報が少ない いまのところの情報源  公式サイト  id:naoya による書籍  Ryuzee さんのブログ  最近ブログ書きまくってます  ソース読め
  24. 24. 待ち構えている罠たち(2) 自分だけでなく同僚に布教が大変  せっかくの chef 設定が使われてない…  手動の作業が chef に反映されない…  忙しくて覚えようとしてくれない… 結局手で管理の毎日
  25. 25. 待ち構えている罠たち(3) CentOS に対応してないものがある attributes化されていない設定項目があ る 似たような cookbook がたくさんある  users, generic-users, users_solo  user, accounts パッチを投げても無反応のものも…
  26. 26. 待ち構えている罠たち(4) テストが難しい  なにを持ってセットアップ成功とするの か  VM で動かして目視確認の山  動いてるつもりが動いてなかった  Cucumber, chefspec などを使うらしい
  27. 27. 結局、Chef って幸せになれんの?
  28. 28. Chef まとめ 覚えるまでに苦労がある  とりあえず始めるなら Fabric とかのが楽 新しい設定で苦労する  postfix の設定で半日かかった  手動なら 10分かからない 再利用、量産すると効果がある 運用はまだやり始めたばかり
  29. 29. OpsWorks のおはなし
  30. 30. OpsWorks AWS のアプリ管理ツール  環境構築  アプリのデプロイ  インスタンスの起動/終了の管理  スケーリング  スケジューリング
  31. 31. OpsWorks Rails, PHP, node.js アプリをサポート  そこそこ実行(起動)に時間がかかった  s1.small で10分  オートスケーリングのときに困りそう まだバグがちらほら残ってる  This is oops works!!
  32. 32. デモ Stack とか Layer とかいろいろあるけど 見たほうが早いので デモります
  33. 33. Chef 使いから見た OpsWorks attributes が画面から変更できる Amazon による独自の cookbooks 実装は chef-solo 標準提供の範囲で全ては賄えない  追加で custom cookbook を突っ込める Chef 使い始めの面倒さが覆い隠されて る 悪くはない (けど良くもない)
  34. 34. まとめ chef は結構便利  ただし、罠は結構残っている状態  始めるにはコスト覚悟の上で  数をこなすと楽になってくる(はず)  id:naoya の本読むといいとおもいます OpsWorks はまだまだこれからだ  いじって遊んでみるとよし
  35. 35. おしまい。

×