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

10,864 views
10,767 views

Published on

Published in: Technology
2 Comments
35 Likes
Statistics
Notes
No Downloads
Views
Total views
10,864
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
34
Comments
2
Likes
35
Embeds 0
No embeds

No notes for slide

春を先取り!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. おしまい。

×