デブサミ2013【15-D-4】Opsから挑むDevOps

3,158 views

Published on

近年、DevOpsという言葉が頻繁に聞かれるようになってきました。
インフラエンジニアとしてはDevOpsという考え方に賛同はするものの、運用をコード化するという行為は非常にハードルの高いものです。
そこで、本講演では、まず生産モデル、標準化という視点からITシステム運用にまつわる課題について考察し、その課題に対する一つの解として、McollectiveとChefの組み合わせによるアプローチを紹介します。

Published in: Technology

デブサミ2013【15-D-4】Opsから挑むDevOps

  1. 1. DevelopersSummit Opsから挑むDevOps エンジニアを解放する試みとして15-D-4 千葉則行 株式会社エクシード 取締役 CTO Developers Summit 2013 Action !
  2. 2. Developers Summit 自己紹介LET ME INTRODUCTION!• 千葉則行• 株式会社エクシード 取締役 CTO• 不惑• 基本はインフラエンジニア Developers Summit 2013 Action !
  3. 3. DevelopersSummit 実は、 職業プログラマ経験はありません・・・ 体型は・・・ですが。 Developers Summit 2013 Action !
  4. 4. DevelopersSummit 今日は、インフラエンジニアとして。 Dev – DevOps <= Ops Developers Summit 2013 Action !
  5. 5. DevelopersSummit Action! Developers Summit 2013 Action !
  6. 6. DevelopersSummit “ 人と艱難を共にすべく、 人と安楽を共にすべからず ” “菜根譚” 講談社学術文庫 Developers Summit 2013 Action !
  7. 7. DevelopersSummit これは、DevOpsを広めるために必要。 Developers Summit 2013 Action !
  8. 8. DevelopersSummit Today, I’m going to talk about … Developers Summit 2013 Action !
  9. 9. Developers Summit お題AGENDA1. エンジニアを解放する2. DevOps3. 私たちの取り組み <cloudrop>4. 改めて考えてみる5. 再びAction! Developers Summit 2013 Action !
  10. 10. DevelopersSummit 1. Let Engineers Free! Developers Summit 2013 Action !
  11. 11. DevelopersSummit 突然の ・・・ 明日までに ・・・ そんなこと言われても ・・・ Developers Summit 2013 Action !
  12. 12. DevelopersSummit Dev vs Ops エンジニア vs 営業 企画部門 vs 技術部門 Developers Summit 2013 Action !
  13. 13. DevelopersSummit 専門化が進んだことによる 組織・グループ間の対立構造 Developers Summit 2013 Action !
  14. 14. DevelopersSummit ちょー不毛。 世界中でスーパーな人たちが切磋琢磨 しているというのに・・・ あまりにもスケールが小さすぎる。 Developers Summit 2013 Action !
  15. 15. DevelopersSummit 業務のスピードアップは重要なテーマ ただし、 効果的なコラボレーションの実現も必要 Developers Summit 2013 Action !
  16. 16. DevelopersSummit 2. DevOps Developers Summit 2013 Action !
  17. 17. DevelopersSummit コラボレーションの仕組みをつくること それが DevOps という取り組み Developers Summit 2013 Action !
  18. 18. DevelopersSummit Culture Lean Automation Measurement Sharing From : DevOpscafe.org Developers Summit 2013 Action !
  19. 19. DevelopersSummit Lean Automation Culture Sharing Measurement Developers Summit 2013 Action !
  20. 20. DevelopersSummit DevOpsと言って思い浮かべるのは、 Chef, Puppet, CFEngine, … Developers Summit 2013 Action !
  21. 21. DevelopersSummit 例えば、Chef Developers Summit 2013 Action !
  22. 22. DevelopersSummit Facebook、データセンター自動化ツール にChefの新バージョンを全面採用、 Erlangでスケーラビリティ拡大。Opscode が発表 Ref: Publickey, 2013.2.5 Developers Summit 2013 Action !
  23. 23. DevelopersSummit 商売上手! ・・・って思ったのは私だけ? Developers Summit 2013 Action !
  24. 24. DevelopersSummit http://wiki.opscode.com/display/chef/Chef+Concepts+as+UML Developers Summit 2013 Action !
  25. 25. DevelopersSummit Client Recipe Server Template my.cnf MySQL Package Resource … Server-id Attribute … Developers Summit 2013 Action !
  26. 26. Developers Summit■ ApacheのInstall ■ Apacheの起動package "apache2" do service "apache2" do action :install action [ :enable, :start ]end end■ 設定値(attributes) ・・・・・・・ Listen <%= port %> NameVirtualHost *:<%= port %> ・・・・・・・・ Developers Summit 2013 Action !
  27. 27. DevelopersSummit • スクリプトよりも・・・ • 簡単、確実に記述できる • べき等性がある • Puppetよりも柔軟性はあるが・・・ • とっつきにくさは否めない Developers Summit 2013 Action !
  28. 28. DevelopersSummit Mcollective Developers Summit 2013 Action !
  29. 29. DevelopersSummit • Puppet labs のプロダクト • 条件にマッチする複数のサーバー群 に対して任意のオペレーションを一括 実行 • 非同期でメッセージをデリバリ Developers Summit 2013 Action !
  30. 30. DevelopersSummit % mco service restart httpd --batch 10 --batch-sleep 2 Discovering hosts using the mongo method .... 26 * [=============================> ] 26 / 26 Finished processing 26 / 26 hosts in 6897.66 ms Developers Summit 2013 Action !
  31. 31. DevelopersSummit % mco rpc service restart service=httpd -W country=uk Developers Summit 2013 Action !
  32. 32. DevelopersSummit さて、ここで少し考えてみたいことが・・・ Developers Summit 2013 Action !
  33. 33. DevelopersSummit 実際のインフラ屋の仕事というのは・・・ 設計、構築 : とても静的 障害対応 : とんでもなく動的 Developers Summit 2013 Action !
  34. 34. DevelopersSummit Automation? 自動化できるのは静的なコトだけ Developers Summit 2013 Action !
  35. 35. DevelopersSummit 静的 動的 • Chef • Mcollective • Puppet • Capistrano Developers Summit 2013 Action !
  36. 36. Developers Summit Type 例 Pros. Cons.Pull Chef ○ 状態の一貫性を保証できる。 Puppet × 動的な操作が難しい。Push Capistrano ○ 任意のタイミングで操作ができる。 × なんでもアリになってしまう。 × スケールしない。async Mcollective ○ 非同期型。スケールする。 ○ 任意のタイミングで操作できる。 × 単なるメッセージトランスポーター。 Developers Summit 2013 Action !
  37. 37. DevelopersSummit 3. 私たちの取り組み Developers Summit 2013 Action !
  38. 38. DevelopersSummit 静的・動的なコトを束ねたい。 それで始めました。 Developers Summit 2013 Action !
  39. 39. DevelopersSummit アーキテクチャー Developers Summit 2013 Action !
  40. 40. DevelopersSummit Portal RESTful API => Mcollective Client ActiveMQ Mcollective Mcollective Server Server Chef-solo Chef-solo Script Script Developers Summit 2013 Action !
  41. 41. DevelopersSummit ユーザインターフェース Portal サーバに対する要求をメッセージとして RESTful APIに渡す。 RESTful API => Mcollective Client Mcollective 該当ノードにメッセージをデリバリする。 Chef-solo / Script Chef-solo 自分宛てのメッセージを受け取り処理を実行, Script 結果を返す。 Developers Summit 2013 Action !
  42. 42. DevelopersSummit オペレーションの標準化 Developers Summit 2013 Action !
  43. 43. 1. タスク : 細分化された作業手順を作る。2. パッケージ : 関連するタスクを集めパッケージング3. バインダー : パッケージを集めてシステムのひな型を作る。4. ライブラリ : 作成したバインダーをライブラリに保存し共有する。
  44. 44. TASK INSTALL RELOAD MONITORPACKAGE PHP Apache MySQLSYSTEMBINDER LAMP SYSTEM BINDERLIBRARY APPLICATION
  45. 45. 組織内に効率的なシステム構築のフローが生まれます TASK PACKAGE BINDER LIBRARY
  46. 46. 1)ライブラリーからバインダーを選択 2) バインダーをサーバーに配布さぁ、システムを 3)構築するよ バインダーに含まれるタスクを実行 完了!
  47. 47. 負荷が上がっているなぁ。 設定を変更するか・・・ 1) バインダーに含まれるタスクを実行あれ、負荷が下がった。誰か、設定を変更した?Aさんね・・・なるほど! 2) 実行したタスク、実行結果、 ・・・・ システム状態を自動的に Aさんが13:30に 負荷を下げる為に設定を変更しました。 カルテとして保存 作業後にロードアベレージが 大きく下がりました。
  48. 48. DevelopersSummit ちょっとだけ、 デモストレーション Developers Summit 2013 Action !
  49. 49. DevelopersSummit 効能  手元の環境でテスト=>本番へ  テスト、QA、本番環境を同一に  パブリック<=>プライベート間の相互利用  ブルーグリーン・デプロイメント Developers Summit 2013 Action !
  50. 50. DevelopersSummit 4. 改めて考えてみる Developers Summit 2013 Action !
  51. 51. DevelopersSummit 対立構造は何も変わっていない! “ Dev => DevOps <= Ops “ Developers Summit 2013 Action !
  52. 52. DevelopersSummit 結局のところ、サービスだと思う。 Developers Summit 2013 Action !
  53. 53. DevelopersSummit サービス仕様 アーキテクチャ 運用 Developers Summit 2013 Action !
  54. 54. DevelopersSummit “ソフトウェアプロセスにかかわる 人すべての間でもっと共同作業が行われ るようにし、価値あるソフトウェアをより素 早く、信頼できるかたちでリリースするの だ” Jez Humble, & David Farley (2012) “継続的デリバリー” ASCII Developers Summit 2013 Action !
  55. 55. DevelopersSummit もはや、そこには 開発屋もインフラ屋も区別が無い。 あるのは、スペシャリティだけ。 Developers Summit 2013 Action !
  56. 56. DevelopersSummit では、スペシャリティが無い人は・・・ Developers Summit 2013 Action !
  57. 57. DevelopersSummit 5. 再びAction! Developers Summit 2013 Action !
  58. 58. DevelopersSummit Shareできるコト、できないコトがある。 Developers Summit 2013 Action !
  59. 59. DevelopersSummit “ 人と艱難を共にすべく、 人と安楽を共にすべからず ” “菜根譚” 講談社学術文庫 Developers Summit 2013 Action !
  60. 60. DevelopersSummit 辛いコト、大変なコトを 共有することから始めよう。 Developers Summit 2013 Action !
  61. 61. DevelopersSummit 参考: # イノベーションのDNA クレイトン・クリステンセン 他 著 “関連づける力、質問力、観察力、ネットワーク力、実験力” # アジャイル開発とスクラム 平鍋健児、野中郁次郎 著 “暗黙知と形式知、SECIモデル、実践知” Developers Summit 2013 Action !
  62. 62. DevelopersSummit Thank you ! アンケートのご協力をお願いします。 ノベルティを用意しておりますので、 是非、ブースにお立ち寄りください。 Developers Summit 2013 Action !

×