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.

Dev opschef

1,816 views

Published on

Published in: Technology
  • Be the first to comment

Dev opschef

  1. 1. Yusuke Ando 株式会社 Engine Yard 2014/06/13! DevOpsを実現する為の Chef活用テクニック
  2. 2. 2! • Twitter: yando • GitHub: yandod • PHPer • CandyCane • 「懇親会 ピザ 計算」 • Oculus Rift / Unity 自己紹介
  3. 3. 3! • 技術評論社 • 豪華執筆陣 • 増刷決定! • 基礎から応用まで • 一冊でひとまず安心 Chef実践入門 好評発売中
  4. 4. 4! • 2006年創業 • AWS/Azure • Terremark • Chefを活用 • 自動構築 • 運用サービス Engine Yard
  5. 5. 5! 国内事例例                                        idobata.io 永和システムマネジメント様のコメント: アプリケーション環境のカスタマイズ性が優れ、われわれのニーズに⾮非常に マッチするプラットフォームです。また、AWS東京データセンターを利利⽤用で きる点や、Engine  Yardのサポート品質が⾮非常に⾼高く、安⼼心してidobata.ioを 稼働させることができています。
  6. 6. 6! 国内事例例                                                      toreta.in 増井  雄⼀一郎郎様  (TORETA  CTO)  のコメント: TORETAは、24時間365⽇日稼働し続ける必要がありました。 ただ、保守運⽤用の観点で深夜の緊急対応を⽇日本のスタッフで⾏行行う ことは困難でした。Engine  Yardのプレミアム  サポートによる 24時間365⽇日体制の運⽤用⽀支援を得ることで、安⼼心してTORETAを 稼働し続けられています。
  7. 7. 7! 国内事例例                                        a2mato.com セブンバイツ様のコメント: Engine  Yardを使うことでサーバー管理理の⼿手間を減らし、アプリケーション開 発に注⼒力力出来ています。Engine  Yardの製品だけでなく、サポートが素晴らし く、最適なサーバー構成・アプリケーションの軽量量化の際に⼒力力を貸していただ いています。このサポートは同様のサービスベンダーには無い、素晴らしいサ ービスだと思います。
  8. 8. 8! 国内事例例                                          svgn.biz スタジオ・アルカナ様のコメント: サービスの趣旨から、セキュリティレベルの⾼高いシステム環境が必要でした。 その点で、HIPAAやSOC2の遵守にも対応可能なEngine  Yardは安⼼心して稼働 できる条件になりました。また、将来的にB  to  B向けのサービスを展開予定の ため、システム環境を容易易に構築できる仕組みと、保守運⽤用を代⾏行行できるサー ビスとして、Engine  Yardは我々のニーズに⾮非常にマッチしていました。
  9. 9. 9! 導入パートナー募集中 詳細はブースにて
  10. 10. Agenda! 1. DevOpsとChef 2. Chefの基本 3. Chefをさらに活用するポイント
  11. 11. DevOpsとChef
  12. 12. 12! 「DevOps」知っていますか?
  13. 13. 13! • 2009年6月 Velocity2009での講演 • 開発者と運用者の関係改善 • 変化に素早く対応する DevOps
  14. 14. 14!
  15. 15. 15!
  16. 16. 16! 組織の文化 • 尊重 • 信頼 • 失敗に対する健全な態度 • 相手を非難しない ツール • 自動化されたインフラ • バージョン管理システム の共有 • ワンステップによるビル ドとデプロイ • フィーチャーフラグ • メトリクスの共有 • IRCとインスタントメッ センジャーのbot DevOps
  17. 17. 17! • インフラの構築をコードで自動化 • サーバーの台数などに左右されない • 手順書の手動実行より正確・高速 • Chefは実現する手段の1つ Infrastructure as Code
  18. 18. 18! メディアでも話題に
  19. 19. 19! これまでとこれから
  20. 20. 20! Chef(等)を使ってビジネスの速度の変化に 対応していきたいという機運
  21. 21. Chefの基本
  22. 22. 22! • 構成管理ツール • v11.12 • Ruby製 • 冪等性が特長 • 高い人気 Chef
  23. 23. 23! • Engine Yard • Facebook • Prezi • サイバーエージェント • グリー 採用事例
  24. 24. 24! 基本的な構成 クックブックを書く Serverにアップロード クライアント起動 クックブックを反映
  25. 25. 25! サーバー無し構成(Chef Solo) クックブックを書く 各サーバーへクックブ ックを配置 Chef-Solo起動、反映
  26. 26. 26! • 対象ノードへのChefのインストール • クックブック(レシピ)を書く • クックブック(レシピ)を送る • Chefクライアント、Chef Soloの実行 基本的な流れ
  27. 27. 27! • gem install chef は古い手法 • 現在のChefは必要なRubyなどを同梱 • /opt/chef 配下にインストールされる • ChefにさらにGemを追加する際は注意 インストール
  28. 28. 28! クックブック package "apache2" do! action :install! end! ! service "apache2" do! action :start! end apache2のインストール apache2のサービス化
  29. 29. 29! • 単純なパッケージ導入以上の処理が可能 • ohaiを使ったノード情報の取得 • 設定ファイルの動的な生成 • 繰り返し実行可能 → 冪等性・収束 apt-get / シェルスクリプトとの違い
  30. 30. 30! • Chef Clientのcronからの実行 • デーモン化も一応可能 • why run (dry run)も可能 • knife-solo • なるべく頻繁に実行するのが望ましい Chef / Chef Soloの実行
  31. 31. Chefをさらに活用するポイント
  32. 32. 32! • Chefのバージョン • Chefの内部動作 • クックブックの書き方、品質 • コミュニティクックブック Chefを使っている際の悩み
  33. 33. 33! Chef0.8, Chef10, Chef11 の違い
  34. 34. 34! • クックブックが実行される順序 • ファイルなどの変更タイミング • 上から順番に実行されない • リソースコレクションと収束 Chefの内部動作
  35. 35. 35! Chefの内部動作
  36. 36. 36! 詳しくはブログにて
  37. 37. 37! クックブックの書き方にはみんな困る
  38. 38. 38! • Infrastructure as Code • テストのないコードはレガシーコード • クックブックが常に健全である事を担保 • 単体テストを行う • 単体テストを継続的に実行する (CI) クックブックのCIは欠かせない
  39. 39. 39! • Berkshelf / librarian-chef クックブックの収集 • foodcritic クックブックの規約チェック • Test-kitchen クックブックの単体テスト • Severspec サーバーの状態の単体テスト クックブックのテストに使うツール
  40. 40. 40! テストスイートの構成 CI環境 Jenkins / Travis CI / Circle CI クックブック クックブック Test Kitchen 仮想マシン Vagrant VirtualBox LXC VMWare Amazon EC2 FoodCritic Serverspec Berkshelf / librarian-chef Chef Solo Chef Client Chef Zero
  41. 41. 41! Qiitaに詳しく乗っています
  42. 42. 42! • 人類の叡智を結集 • 多様なプラットフォームに対応 • 利用者が少ない • 作成者も少ない コミュニティクックブック
  43. 43. 43!
  44. 44. 44! • クックブックを書こう • クックブックをテストしよう • コミュニティに登録しよう • オープンソースのフローでコード改善 皆様に提案
  45. 45. 45! 又は、Engine Yardにお任せください
  46. 46. 46! 導入パートナー募集中 詳細はブースにて
  47. 47. Thank you!

×