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.

[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話

4,448 views

Published on

関西RubyKaigi06の LT資料です。

http://regional.rubykaigi.org/kansai06/

Published in: Technology
  • Be the first to comment

[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話

  1. 1. Kansai RubyKaigi 06 インフラの人がChefや Serverspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話 2015年7月11日 LT @sawanoboly
  2. 2. Kansai RubyKaigi 06LT @sawanoboly 立場と目的
  3. 3. Kansai RubyKaigi 06LT @sawanoboly インフラ系の人
  4. 4. Kansai RubyKaigi 06LT @sawanoboly インフラ系の人 □ サーバ/インフラの構築とオペレーション。 ※本スライド内ではこういうのを便宜上イン フラ系またはOpsと呼称します。
  5. 5. Kansai RubyKaigi 06LT @sawanoboly インフラ系の人 □ サーバ/インフラの構築とオペレーション。 ※本スライド内ではこういうのを便宜上イン フラ系またはOpsと呼称します。 □ いつもRubyを使ってる人がスゴイと思うような ことは言えません。
  6. 6. Kansai RubyKaigi 06LT @sawanoboly 言っとこうと思ったこと
  7. 7. Kansai RubyKaigi 06LT @sawanoboly 言っとこうと思ったこと □ インフラ系の人でもRubyならできるようになる かもしれない。
  8. 8. Kansai RubyKaigi 06LT @sawanoboly 言っとこうと思ったこと □ インフラ系の人でもRubyならできるようになる かもしれない。 □ それでどうなるのか?
  9. 9. Kansai RubyKaigi 06LT @sawanoboly 言っとこうと思ったこと □ インフラ系の人でもRubyならできるようになる かもしれない。 □ それでどうなるのか? □ チームの生産性を上げられます。
 ※個人の見解です。
  10. 10. Kansai RubyKaigi 06LT @sawanoboly Rubyをさわるより前
  11. 11. Kansai RubyKaigi 06LT @sawanoboly おおよそプログラムと 思えそうなことは全然しない。
  12. 12. Kansai RubyKaigi 06LT @sawanoboly Opsからの眺め □ OSやパッケージ(またはMakeでインストール) □ 身内のDeveloperが書いてるソフトウェア群
  13. 13. Kansai RubyKaigi 06LT @sawanoboly Opsからの眺め □ OSやパッケージ(またはMakeでインストール) □書式のあるログにエラー(ID)、何となく分かる □ 身内のDeveloper
  14. 14. Kansai RubyKaigi 06LT @sawanoboly Opsからの眺め □ OSやパッケージ(またはMakeでインストール □書式のあるログにエラー(ID) □ 身内のDeveloperが書いてるソフトウェア群 □ `スタックトレース`と呼ばれる謎のカタマリ
  15. 15. Kansai RubyKaigi 06LT @sawanoboly Opsからの眺め □ OSやパッケージ(またはMakeでインストール) □書式のあるログにエラー(ID)、何となく分かる □ 身内のDeveloperが書いてるソフトウェア群 □ `スタックトレース`と呼ばれる謎のカタマリ
  16. 16. Kansai RubyKaigi 06LT @sawanoboly Opsからの眺め □ OSやパッケージ(またはMakeでインストール) □書式のあるログにエラー(ID)、何となく分かる □ 身内のDeveloperが書いてるソフトウェア群 □ `スタックトレース`と呼ばれる謎のカタマリ どっかの馬の骨が作ってるけどわかる
  17. 17. Kansai RubyKaigi 06LT @sawanoboly Opsからの眺め □ OSやパッケージ(またはMakeでインストール) □書式のあるログにエラー(ID)、何となく分かる □ 身内のDeveloperが書いてるソフトウェア群 □ `スタックトレース`と呼ばれる謎のカタマリ どっかの馬の骨が作ってるけどわかる 身内のやってることなのにイミワカンネぇ
  18. 18. Kansai RubyKaigi 06LT @sawanoboly ちょっと転機
  19. 19. Kansai RubyKaigi 06LT @sawanoboly OSS系のサーバって 管理めんどくさい… ※しばらくWindowsNetworkの管理者だった
  20. 20. Kansai RubyKaigi 06LT @sawanoboly それとCapistrano ※当時こんなロゴだった気がする
  21. 21. Kansai RubyKaigi 06LT @sawanoboly 中央集権でポリシー配布できそう
  22. 22. Kansai RubyKaigi 06LT @sawanoboly 中央集権でポリシー配布できそう □ インフラ系は管理社会大好き。
  23. 23. Kansai RubyKaigi 06LT @sawanoboly 中央集権でポリシー配布できそう □ インフラ系は管理社会大好き。 □ サーバ達は各自で俺に情報をあつめろ。
  24. 24. Kansai RubyKaigi 06LT @sawanoboly 中央集権でポリシー配布できそう □ インフラ系は管理社会大好き。 □ サーバ達は各自で俺に情報をあつめろ。 自由は屈服である 無知は力である ※小説『1984』より
  25. 25. Kansai RubyKaigi 06LT @sawanoboly レシピに手を出すと そこに ※Chefのリソースを記述するファイル (※)
  26. 26. Kansai RubyKaigi 06LT @sawanoboly Copyright © 2006, Yukihiro Matsumoto
  27. 27. Kansai RubyKaigi 06LT @sawanoboly なんか色々わかった
  28. 28. Kansai RubyKaigi 06LT @sawanoboly なんか色々わかった □ レシピはRubyスクリプト。
  29. 29. Kansai RubyKaigi 06LT @sawanoboly なんか色々わかった □ レシピはRubyスクリプト。 □ スタックトレース…? □ 俺が書いた行を指してる気がする。 □ もしかして役に立つんじゃね。
  30. 30. Kansai RubyKaigi 06LT @sawanoboly Rubyだからだったのか? □ 覚えようとしたけどできてない □ perl, python, php, javascript, Javaなど □ ちょっとできた □ vbscript(wsh), cmd, bash
  31. 31. Kansai RubyKaigi 06LT @sawanoboly Rubyが手軽な オブジェクト指向型 スクリプト言語だから。 Copyright © 2006, Yukihiro Matsumoto
  32. 32. Kansai RubyKaigi 06LT @sawanoboly Rubyが手軽な オブジェクト指向型 スクリプト言語だから。 Copyright © 2006, Yukihiro Matsumoto ※この理由は後付けです
  33. 33. Kansai RubyKaigi 06LT @sawanoboly インフラ的 オブジェクト指向解釈
  34. 34. Kansai RubyKaigi 06LT @sawanoboly クラス…
  35. 35. Kansai RubyKaigi 06LT @sawanoboly クラス… □ パラメータを色々持ってる… □ 外部とインターフェースでやりとりする…
  36. 36. Kansai RubyKaigi 06LT @sawanoboly クラス… □ パラメータを色々持ってる… □ 外部とインターフェースでやりとりする… #=>サーバ(OS)のイメージ
 ってことでいいや
  37. 37. Kansai RubyKaigi 06LT @sawanoboly インスタンス…
  38. 38. Kansai RubyKaigi 06LT @sawanoboly インスタンス… □ クラスを元に… □ 色々と実行可能になってる…
  39. 39. Kansai RubyKaigi 06LT @sawanoboly インスタンス… □ クラスを元に… □ 色々と実行可能になってる… #=> これ起動後のサーバだわ
  40. 40. Kansai RubyKaigi 06LT @sawanoboly その他もろもろ □ 各種メソッド => サーバで上げてるデーモンとかこんなよね。 □ 継承 => コンテナのファイルシステムって感じー。
 (当時vzfs(OpenVZ), 今ならOverlayとか)
  41. 41. Kansai RubyKaigi 06LT @sawanoboly あとはだいたい これらの応用
  42. 42. Kansai RubyKaigi 06LT @sawanoboly コードをすこし 触れる用になった。
  43. 43. Kansai RubyKaigi 06LT @sawanoboly コードをすこし 触れる用になった。 身内のやってることなのにイミワカンネぇ が
  44. 44. Kansai RubyKaigi 06LT @sawanoboly コードをすこし 触れる用になった。 身内のやってることちょっとわかる に
  45. 45. Kansai RubyKaigi 06LT @sawanoboly インフラ系 x オブジェクト指向は 逆流する。
  46. 46. Kansai RubyKaigi 06LT @sawanoboly インフラ系 x オブジェクト指向は 逆流する。 □ なんでもインスタンス扱いでいいやってなる。
  47. 47. Kansai RubyKaigi 06LT @sawanoboly インフラ系 x オブジェクト指向は 逆流する。 □ なんでもインスタンス扱いでいいやってなる。 □ モデルをつくりたくなる。
  48. 48. Kansai RubyKaigi 06LT @sawanoboly インフラ系 x オブジェクト指向は 逆流する。 □ なんでもインスタンス扱いでいいやってなる。 □ モデルをつくりたくなる。 □単体サーバはどうでも良くなり、多くのことを PaaSっぽくまとまり単位で扱う。
  49. 49. Kansai RubyKaigi 06LT @sawanoboly インフラ系 x オブジェクト指向は 逆流する。 □ なんでもインスタンス扱いでいいやってなる。 □ モデルをつくりたくなる。 □単体サーバはどうでも良くなり、多くのことを PaaSっぽくまとまり単位で扱う。 □APIが無いとキレるが、何とかする。
  50. 50. Kansai RubyKaigi 06LT @sawanoboly のちに自著で調子に乗って語る
  51. 51. Kansai RubyKaigi 06LT @sawanoboly のちに自著で調子に乗って語る Q. ChefはRubyをでき るほうがイイですか?
  52. 52. Kansai RubyKaigi 06LT @sawanoboly のちに自著で調子に乗って語る Q. ChefはRubyをでき るほうがイイですか? A. 触ってればRubyが デキるようになります。
  53. 53. Kansai RubyKaigi 06LT @sawanoboly 25分Ver用の話(割愛) □ コードに興味持ってバージョン管理が変わったよ。 □ サフィックス法(.back, .20150711) からGitへ。 □ デプロイの起点もGitに。CIツール使うのが上手になる。 □コードの気配を察知して開発初期から継続デリバリするよ。 □ テストを触れるようになったよ。 □ ServerspecからRSpecに入る。 □ Docでイマイチわからない時でも、テスト見ればいいやってなる。 □ インフラ系のヒト、ゼロからつくるのはムリだけど、土俵用に改良するよ。
  54. 54. Kansai RubyKaigi 06LT @sawanoboly Developerがやること
  55. 55. Kansai RubyKaigi 06LT @sawanoboly Developerがやること □ Opsにとにかく自動化を振る。
  56. 56. Kansai RubyKaigi 06LT @sawanoboly Developerがやること □ Opsにとにかく自動化を振る。 □人員追加は断る。
  57. 57. Kansai RubyKaigi 06LT @sawanoboly Developerがやること □ Opsにとにかく自動化を振る。 □人員追加は断る。 => 楽をしたがるOpsならコードを書き始める。
  58. 58. Kansai RubyKaigi 06LT @sawanoboly Developerがやること □ Opsにとにかく自動化を振る。 □人員追加は断る。 => 楽をしたがるOpsならコードを書き始める。 => チームの効率があがる。
  59. 59. Kansai RubyKaigi 06LT @sawanoboly Developerがやること □ Opsにとにかく自動化を振る。 □人員追加は断る。 => 楽をしたがるOpsならコードを書き始める。 => チームの効率があがる。 ? ついてこない場合…
  60. 60. Kansai RubyKaigi 06LT @sawanoboly (最後に) インフラ系の象徴 といえる言葉を用いて
  61. 61. Kansai RubyKaigi 06LT @sawanoboly 炎上 ※自らの調査で解決できることが前提です ※なんだかんだでテンションあがります
  62. 62. Kansai RubyKaigi 06LT @sawanoboly 炎上はこのように変換することができます Enjo
  63. 63. Kansai RubyKaigi 06LT @sawanoboly Rubyを足してみましょう Enjo+ Ruby ※発表している人は直前までテーマを勘違いしています。 正しくは『Enjoy Progamming』
  64. 64. Kansai RubyKaigi 06LT @sawanoboly Enjo+ Ruby この計算は繰り上がりになるため、 ※発表している人は直前までテーマを勘違いしています。 正しくは『Enjoy Progamming』
  65. 65. Kansai RubyKaigi 06LT @sawanoboly この計算は繰り上がりになるため、 おとなりから`y`を借りてくることができます。 Enjo+ Ruby ※発表している人は直前までテーマを勘違いしています。 正しくは『Enjoy Progamming』
  66. 66. Kansai RubyKaigi 06LT @sawanoboly Opsでも Enjoy Ruby できる ※俺ができるんだから誰でもできるんだろう多分
  67. 67. Kansai RubyKaigi 06LT @sawanoboly おわり

×