SlideShare a Scribd company logo
春を先取り!
 OpsWorks と Chef で
はじめる恋色コーデ術!
自己紹介:小宮 健
                             Twitter: @tk0miya
 仕事
  (株)タイムインターメディア所属
  テクニカルオフィサ(技術責任者)として活動
 参加コミュニティ
  Sphinx-users.jp
  Python mini hack-a-thon
 Sphinx を中心にツールを開発
  blockdiag シリーズ
  Sphinx 拡張機能の開発
    Googlechart やカレンダー機能

 #bookathon 他読書会やってます
春を先取り!
 OpsWorks と Chef で
はじめる恋色コーデ術!
コーデ術の紹介?
コーデ術の紹介?
…あれはウソだ。
コーデ術の紹介?
…あれはウソだ。
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03
Sphinx の方から来ました
            小宮健
Chef のおはなし
環境構築を自動化しよう

 手順書を破り捨てろ
 オレオレ環境の撲滅
 リリース後の土下座を減らす
 開発環境は 3分ぐらいで構築したいよね
   個人の印象です
   実際にはもう少しかかります


 そうだ、Chef を使おう
Why chef?

 冪等性 (べきとうせい)
 community cookbooks
冪等性 (べきとうせい)

 「あるべき姿」を定義しておくと…
 何度実行しても同じ結果になる
 まっさらなサーバ
 途中までセットアップされたサーバ
 最新状態のサーバ
 すべて「あるべき姿」になる
 手続き型ツールは順序重要(差分更
新)
 Capistrano とか Fabric とか
community cookbooks

 大抵のツール向けの設定が集約
  Chef をはじめる場合はまずはここを見
   る
  必要な物がなかったら自分で書く
 再利用の精神
  自分で書かず再利用する
  設定の調整は attributes を使う
  理想: ほとんど書かない
chef の種類

 chef-server
   大規模用
   設定の自動反映
 chef-solo     〜20台ぐらいなら
   小規模用        Chef-solo で十分(らしい)
   手動で実行する
 ホスティング
   有料プラン
chef-solo ことはじめ

 vagrant
 librarian
 attributes を書く
 実行する
Vagrant

 ベイグラント って読むらしい
 virtualbox の CLI ラッパー
  最近 AWS や VMWare Fusion にも対応
 VM の作成/起動/削除が簡単になる
 chef の試行錯誤に最適
librarian

 cookbook 管理ツール
  依存性解決とダウンロード
  community's, github, local
 Bundler, requirements.txt みたいなもの
 Chef 使うなら最初に覚えたい
 類似ツールに Berkshelf
  どちらを使ってもよい
Attributes を書く

 json 形式で書いていく
 run_list
  利用する cookbooks 一覧
 各 cookbook 用の設定
  内容は cookbook の README を見てね
実行する

 chef-solo -j solo.json -c solo.rb
 以上。
もっと効率よく使う

 微調整用に my cookbook を作る
 vagrant の chef 連携は使わない
  実験や学習には便利だが…
  実環境に適用しづらい
 capistrano 経由で実行する
  roundsman プラグイン
  リモート実行、並列実行が可能
Chef 最高!

 自分で書く量は少ない
 自動的にうまくやってくれる
 手順書をなくせる/減らせる
そうは問屋が卸しません
いくつも罠が
待ち構えています
待ち構えている罠たち(1)

 まだ chef 情報が少ない
 いまのところの情報源
  公式サイト
  id:naoya による書籍
  Ryuzee さんのブログ
  最近ブログ書きまくってます
  ソース読め
待ち構えている罠たち(2)

 自分だけでなく同僚に布教が大変
  せっかくの chef 設定が使われてない…
  手動の作業が chef に反映されない…
  忙しくて覚えようとしてくれない…


 結局手で管理の毎日
待ち構えている罠たち(3)

 CentOS に対応してないものがある
 attributes化されていない設定項目があ
  る
 似たような cookbook がたくさんある
  users, generic-users, users_solo
  user, accounts
 パッチを投げても無反応のものも…
待ち構えている罠たち(4)

 テストが難しい
  なにを持ってセットアップ成功とするの
   か
  VM で動かして目視確認の山
  動いてるつもりが動いてなかった
  Cucumber, chefspec などを使うらしい
結局、Chef って
幸せになれんの?
Chef まとめ

 覚えるまでに苦労がある
   とりあえず始めるなら Fabric とかのが楽
 新しい設定で苦労する
  postfix の設定で半日かかった
  手動なら 10分かからない
 再利用、量産すると効果がある
 運用はまだやり始めたばかり
OpsWorks のおはなし
OpsWorks

 AWS のアプリ管理ツール
  環境構築
  アプリのデプロイ
  インスタンスの起動/終了の管理
    スケーリング
    スケジューリング
OpsWorks

 Rails, PHP, node.js アプリをサポート
  そこそこ実行(起動)に時間がかかった
  s1.small で10分
  オートスケーリングのときに困りそう
 まだバグがちらほら残ってる
  This is oops works!!
デモ

 Stack とか Layer とかいろいろあるけど
 見たほうが早いので
 デモります
Chef 使いから見た OpsWorks

 attributes が画面から変更できる
 Amazon による独自の cookbooks
 実装は chef-solo
 標準提供の範囲で全ては賄えない
  追加で custom cookbook を突っ込める
 Chef 使い始めの面倒さが覆い隠されて
  る
 悪くはない (けど良くもない)
まとめ

 chef は結構便利
  ただし、罠は結構残っている状態
  始めるにはコスト覚悟の上で
  数をこなすと楽になってくる(はず)
  id:naoya の本読むといいとおもいます
 OpsWorks はまだまだこれからだ
  いじって遊んでみるとよし
おしまい。

More Related Content

PPTX
Python開発は仮想化しろ
PPTX
Milkcocoa meetup #2 Unityでmilkcocoaを使ってみる
PPTX
Milkcocoa のSDKを作る話
PDF
20151114 jawsug
PDF
20130413 qpstudy Chef邪道編
PDF
20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java
PDF
食べログで動いている自作ライブラリのお話
PDF
Vagrant でお手軽開発環境
Python開発は仮想化しろ
Milkcocoa meetup #2 Unityでmilkcocoaを使ってみる
Milkcocoa のSDKを作る話
20151114 jawsug
20130413 qpstudy Chef邪道編
20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java
食べログで動いている自作ライブラリのお話
Vagrant でお手軽開発環境

What's hot (15)

PDF
[JAWS Days 2015 LT]使い始めて3年半、ようやくテスト始めました
PDF
Yohes kitchen
PDF
20110205.jsonengine
PDF
外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1
PDF
Day30 os
PDF
体じゅーよー
PDF
Jenkinsの導入 vol.02 Bitbucketと連携する
PDF
Ansible超入門
PDF
jenkins先生にライブラリの更新をお願いする
PPTX
日常に見るUI/UX
PDF
Linuxで温度を測る
PDF
Chefについて数週間勉強してみた
PDF
Pythonで二段階認証
PDF
PDF
ライブラリを作った話
[JAWS Days 2015 LT]使い始めて3年半、ようやくテスト始めました
Yohes kitchen
20110205.jsonengine
外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1
Day30 os
体じゅーよー
Jenkinsの導入 vol.02 Bitbucketと連携する
Ansible超入門
jenkins先生にライブラリの更新をお願いする
日常に見るUI/UX
Linuxで温度を測る
Chefについて数週間勉強してみた
Pythonで二段階認証
ライブラリを作った話
Ad

Viewers also liked (20)

PPTX
Roundsmanの紹介 @ Chef Casual Talks Vol.1 #eytokyo
PPTX
個人的なさがしもののはなし #rubyhiroba
PPTX
Life with Sphinx 2012 #sphinxconjp
PPTX
Paratrooper chef の紹介 @ Chef Casual Talks Vol.2 #eytokyo
PPTX
俺の嫁と行った場所 #pykonjp2014
PPTX
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
PPTX
発見・探検・ぼくのだいあぐ #pykonjp2014
PPTX
明日から始める Chef 入門 #bpstudy
PPTX
Inside of excel 方眼紙撲滅委員会 #pyfes
PPTX
Pythonユーザのための構成管理入門 #pyconapac
PPTX
本当のドキュメントと向き合えますか @ qpstudy 2011/04
PPTX
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
PPTX
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
PPTX
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
PPTX
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
PPTX
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
PPTX
APIドキュメントの話 #sphinxjp
PDF
株式会社24-7 カルチャーコード
PPTX
Excel 方眼紙撲滅委員会 活動報告 2012.09 #yapcasia #ltthon
PPTX
マークアップ言語の拡張 メリットとデメリット #hankumi
Roundsmanの紹介 @ Chef Casual Talks Vol.1 #eytokyo
個人的なさがしもののはなし #rubyhiroba
Life with Sphinx 2012 #sphinxconjp
Paratrooper chef の紹介 @ Chef Casual Talks Vol.2 #eytokyo
俺の嫁と行った場所 #pykonjp2014
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
発見・探検・ぼくのだいあぐ #pykonjp2014
明日から始める Chef 入門 #bpstudy
Inside of excel 方眼紙撲滅委員会 #pyfes
Pythonユーザのための構成管理入門 #pyconapac
本当のドキュメントと向き合えますか @ qpstudy 2011/04
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
APIドキュメントの話 #sphinxjp
株式会社24-7 カルチャーコード
Excel 方眼紙撲滅委員会 活動報告 2012.09 #yapcasia #ltthon
マークアップ言語の拡張 メリットとデメリット #hankumi
Ad

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

PDF
DevOps 研修 中級編#01
PDF
仮想マシンを使った開発環境の簡単共有方法
PDF
Chef
PDF
20120915 Pythonは本当にBlenderの役に立っているか?
ODP
20090704rubyist九州
PPTX
3分間 開発環境クッキング 2012.07 #pyfes
PDF
10分でわかるPythonの開発環境
KEY
Windowsにpythonをインストールしてみよう
PDF
Chefのはじめの一歩
PDF
「クラウド本気で始めました」なSIerのChef活用と実践~Chefアンチパターンとの戦い~
PDF
DevOps 研修 中級編#02
PPTX
第3回 開発ツールチラ見せ♡ナイト オープニングプレゼン
PPTX
130329 perl casual_ruik
PDF
Goで始める言語処理系実装入門
PDF
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
PDF
邪道Jenkins
PDF
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
PDF
Pyconjp2016 pyftplib
PDF
社内Chef勉強会
PDF
20090828 Webconlocal
DevOps 研修 中級編#01
仮想マシンを使った開発環境の簡単共有方法
Chef
20120915 Pythonは本当にBlenderの役に立っているか?
20090704rubyist九州
3分間 開発環境クッキング 2012.07 #pyfes
10分でわかるPythonの開発環境
Windowsにpythonをインストールしてみよう
Chefのはじめの一歩
「クラウド本気で始めました」なSIerのChef活用と実践~Chefアンチパターンとの戦い~
DevOps 研修 中級編#02
第3回 開発ツールチラ見せ♡ナイト オープニングプレゼン
130329 perl casual_ruik
Goで始める言語処理系実装入門
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
邪道Jenkins
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
Pyconjp2016 pyftplib
社内Chef勉強会
20090828 Webconlocal

More from Takeshi Komiya (12)

PPTX
ドキュメントの話、しませんか? #428rk01
PPTX
Sphinx拡張 探訪 2014 #sphinxjp
PPTX
Excel 方眼紙撲滅委員会 活動報告 2012.09 #pyconjp
PPTX
最近つくった Sphinx 拡張の話 2012.08 #pyfes
PPTX
Excel 方眼紙撲滅委員会 活動報告 2012.08 #pyfes
PPTX
五番目のダイアグ、現る。 2012.08 #pyfes #blockdiag
PPTX
blockdiagの最新動向 2011.11 #odstudy
PPTX
Python エンジニアの作り方 2011.08 #pyconjp
PPTX
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
PPTX
ドキュメントを加速する作画ツール Blockdiag 2011/07 #infotalk
PPTX
ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28
PPTX
blockdiag - a simple diagram generator
ドキュメントの話、しませんか? #428rk01
Sphinx拡張 探訪 2014 #sphinxjp
Excel 方眼紙撲滅委員会 活動報告 2012.09 #pyconjp
最近つくった Sphinx 拡張の話 2012.08 #pyfes
Excel 方眼紙撲滅委員会 活動報告 2012.08 #pyfes
五番目のダイアグ、現る。 2012.08 #pyfes #blockdiag
blockdiagの最新動向 2011.11 #odstudy
Python エンジニアの作り方 2011.08 #pyconjp
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
ドキュメントを加速する作画ツール Blockdiag 2011/07 #infotalk
ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28
blockdiag - a simple diagram generator

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