[lt] インフラの人がchefやserverspec(ほか)が rubyだったおかげですこし...

Post on 08-Aug-2015

2.522 Views

Category:

Technology

10 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Kansai RubyKaigi 06

インフラの人がChefやServerspec(ほか)が

Rubyだったおかげですこし プログラムをするようになった話

2015年7月11日 LT @sawanoboly

Kansai RubyKaigi 06LT @sawanoboly

立場と目的

Kansai RubyKaigi 06LT @sawanoboly

インフラ系の人

Kansai RubyKaigi 06LT @sawanoboly

インフラ系の人□ サーバ/インフラの構築とオペレーション。

※本スライド内ではこういうのを便宜上インフラ系またはOpsと呼称します。

Kansai RubyKaigi 06LT @sawanoboly

インフラ系の人□ サーバ/インフラの構築とオペレーション。

※本スライド内ではこういうのを便宜上インフラ系またはOpsと呼称します。

□ いつもRubyを使ってる人がスゴイと思うようなことは言えません。

Kansai RubyKaigi 06LT @sawanoboly

言っとこうと思ったこと

Kansai RubyKaigi 06LT @sawanoboly

言っとこうと思ったこと□ インフラ系の人でもRubyならできるようになる

かもしれない。

Kansai RubyKaigi 06LT @sawanoboly

言っとこうと思ったこと□ インフラ系の人でもRubyならできるようになる

かもしれない。

□ それでどうなるのか?

Kansai RubyKaigi 06LT @sawanoboly

言っとこうと思ったこと□ インフラ系の人でもRubyならできるようになる

かもしれない。

□ それでどうなるのか?

□ チームの生産性を上げられます。※個人の見解です。

Kansai RubyKaigi 06LT @sawanoboly

Rubyをさわるより前

Kansai RubyKaigi 06LT @sawanoboly

おおよそプログラムと 思えそうなことは全然しない。

Kansai RubyKaigi 06LT @sawanoboly

Opsからの眺め□ OSやパッケージ(またはMakeでインストール)

□ 身内のDeveloperが書いてるソフトウェア群

Kansai RubyKaigi 06LT @sawanoboly

Opsからの眺め□ OSやパッケージ(またはMakeでインストール)

□書式のあるログにエラー(ID)、何となく分かる

□ 身内のDeveloper

Kansai RubyKaigi 06LT @sawanoboly

Opsからの眺め□ OSやパッケージ(またはMakeでインストール

□書式のあるログにエラー(ID)

□ 身内のDeveloperが書いてるソフトウェア群

□ `スタックトレース`と呼ばれる謎のカタマリ

Kansai RubyKaigi 06LT @sawanoboly

Opsからの眺め□ OSやパッケージ(またはMakeでインストール)

□書式のあるログにエラー(ID)、何となく分かる

□ 身内のDeveloperが書いてるソフトウェア群

□ `スタックトレース`と呼ばれる謎のカタマリ

Kansai RubyKaigi 06LT @sawanoboly

Opsからの眺め□ OSやパッケージ(またはMakeでインストール)

□書式のあるログにエラー(ID)、何となく分かる

□ 身内のDeveloperが書いてるソフトウェア群

□ `スタックトレース`と呼ばれる謎のカタマリ

どっかの馬の骨が作ってるけどわかる

Kansai RubyKaigi 06LT @sawanoboly

Opsからの眺め□ OSやパッケージ(またはMakeでインストール)

□書式のあるログにエラー(ID)、何となく分かる

□ 身内のDeveloperが書いてるソフトウェア群

□ `スタックトレース`と呼ばれる謎のカタマリ

どっかの馬の骨が作ってるけどわかる

身内のやってることなのにイミワカンネぇ

Kansai RubyKaigi 06LT @sawanoboly

ちょっと転機

Kansai RubyKaigi 06LT @sawanoboly

OSS系のサーバって 管理めんどくさい…※しばらくWindowsNetworkの管理者だった

Kansai RubyKaigi 06LT @sawanoboly

それとCapistrano※当時こんなロゴだった気がする

Kansai RubyKaigi 06LT @sawanoboly

中央集権でポリシー配布できそう

Kansai RubyKaigi 06LT @sawanoboly

中央集権でポリシー配布できそう□ インフラ系は管理社会大好き。

Kansai RubyKaigi 06LT @sawanoboly

中央集権でポリシー配布できそう□ インフラ系は管理社会大好き。

□ サーバ達は各自で俺に情報をあつめろ。

Kansai RubyKaigi 06LT @sawanoboly

中央集権でポリシー配布できそう□ インフラ系は管理社会大好き。

□ サーバ達は各自で俺に情報をあつめろ。

自由は屈服である 無知は力である

※小説『1984』より

Kansai RubyKaigi 06LT @sawanoboly

レシピに手を出すと そこに

※Chefのリソースを記述するファイル

(※)

Kansai RubyKaigi 06LT @sawanoboly

Copyright © 2006, Yukihiro Matsumoto

Kansai RubyKaigi 06LT @sawanoboly

なんか色々わかった

Kansai RubyKaigi 06LT @sawanoboly

なんか色々わかった□ レシピはRubyスクリプト。

Kansai RubyKaigi 06LT @sawanoboly

なんか色々わかった□ レシピはRubyスクリプト。

□ スタックトレース…?

□ 俺が書いた行を指してる気がする。

□ もしかして役に立つんじゃね。

Kansai RubyKaigi 06LT @sawanoboly

Rubyだからだったのか?□ 覚えようとしたけどできてない

□ perl, python, php, javascript, Javaなど

□ ちょっとできた

□ vbscript(wsh), cmd, bash

Kansai RubyKaigi 06LT @sawanoboly

Rubyが手軽な オブジェクト指向型

スクリプト言語だから。

Copyright © 2006, Yukihiro Matsumoto

Kansai RubyKaigi 06LT @sawanoboly

Rubyが手軽な オブジェクト指向型

スクリプト言語だから。

Copyright © 2006, Yukihiro Matsumoto

※この理由は後付けです

Kansai RubyKaigi 06LT @sawanoboly

インフラ的 オブジェクト指向解釈

Kansai RubyKaigi 06LT @sawanoboly

クラス…

Kansai RubyKaigi 06LT @sawanoboly

クラス…□ パラメータを色々持ってる…

□ 外部とインターフェースでやりとりする…

Kansai RubyKaigi 06LT @sawanoboly

クラス…□ パラメータを色々持ってる…

□ 外部とインターフェースでやりとりする…

#=>サーバ(OS)のイメージ ってことでいいや

Kansai RubyKaigi 06LT @sawanoboly

インスタンス…

Kansai RubyKaigi 06LT @sawanoboly

インスタンス…□ クラスを元に…

□ 色々と実行可能になってる…

Kansai RubyKaigi 06LT @sawanoboly

インスタンス…□ クラスを元に…

□ 色々と実行可能になってる…

#=> これ起動後のサーバだわ

Kansai RubyKaigi 06LT @sawanoboly

その他もろもろ□ 各種メソッド

=> サーバで上げてるデーモンとかこんなよね。

□ 継承

=> コンテナのファイルシステムって感じー。 (当時vzfs(OpenVZ), 今ならOverlayとか)

Kansai RubyKaigi 06LT @sawanoboly

あとはだいたい これらの応用

Kansai RubyKaigi 06LT @sawanoboly

コードをすこし 触れる用になった。

Kansai RubyKaigi 06LT @sawanoboly

コードをすこし 触れる用になった。

身内のやってることなのにイミワカンネぇ が

Kansai RubyKaigi 06LT @sawanoboly

コードをすこし 触れる用になった。

身内のやってることちょっとわかる に

Kansai RubyKaigi 06LT @sawanoboly

インフラ系 x オブジェクト指向は 逆流する。

Kansai RubyKaigi 06LT @sawanoboly

インフラ系 x オブジェクト指向は 逆流する。

□ なんでもインスタンス扱いでいいやってなる。

Kansai RubyKaigi 06LT @sawanoboly

インフラ系 x オブジェクト指向は 逆流する。

□ なんでもインスタンス扱いでいいやってなる。

□ モデルをつくりたくなる。

Kansai RubyKaigi 06LT @sawanoboly

インフラ系 x オブジェクト指向は 逆流する。

□ なんでもインスタンス扱いでいいやってなる。

□ モデルをつくりたくなる。

□単体サーバはどうでも良くなり、多くのことをPaaSっぽくまとまり単位で扱う。

Kansai RubyKaigi 06LT @sawanoboly

インフラ系 x オブジェクト指向は 逆流する。

□ なんでもインスタンス扱いでいいやってなる。

□ モデルをつくりたくなる。

□単体サーバはどうでも良くなり、多くのことをPaaSっぽくまとまり単位で扱う。

□APIが無いとキレるが、何とかする。

Kansai RubyKaigi 06LT @sawanoboly

のちに自著で調子に乗って語る

Kansai RubyKaigi 06LT @sawanoboly

のちに自著で調子に乗って語るQ. ChefはRubyをできるほうがイイですか?

Kansai RubyKaigi 06LT @sawanoboly

のちに自著で調子に乗って語るQ. ChefはRubyをできるほうがイイですか?

A. 触ってればRubyがデキるようになります。

Kansai RubyKaigi 06LT @sawanoboly

25分Ver用の話(割愛)□ コードに興味持ってバージョン管理が変わったよ。

□ サフィックス法(.back, .20150711) からGitへ。

□ デプロイの起点もGitに。CIツール使うのが上手になる。

□コードの気配を察知して開発初期から継続デリバリするよ。

□ テストを触れるようになったよ。

□ ServerspecからRSpecに入る。

□ Docでイマイチわからない時でも、テスト見ればいいやってなる。

□ インフラ系のヒト、ゼロからつくるのはムリだけど、土俵用に改良するよ。

Kansai RubyKaigi 06LT @sawanoboly

Developerがやること

Kansai RubyKaigi 06LT @sawanoboly

Developerがやること□ Opsにとにかく自動化を振る。

Kansai RubyKaigi 06LT @sawanoboly

Developerがやること□ Opsにとにかく自動化を振る。

□人員追加は断る。

Kansai RubyKaigi 06LT @sawanoboly

Developerがやること□ Opsにとにかく自動化を振る。

□人員追加は断る。

=> 楽をしたがるOpsならコードを書き始める。

Kansai RubyKaigi 06LT @sawanoboly

Developerがやること□ Opsにとにかく自動化を振る。

□人員追加は断る。

=> 楽をしたがるOpsならコードを書き始める。

=> チームの効率があがる。

Kansai RubyKaigi 06LT @sawanoboly

Developerがやること□ Opsにとにかく自動化を振る。

□人員追加は断る。

=> 楽をしたがるOpsならコードを書き始める。

=> チームの効率があがる。

? ついてこない場合…

Kansai RubyKaigi 06LT @sawanoboly

(最後に) インフラ系の象徴

といえる言葉を用いて

Kansai RubyKaigi 06LT @sawanoboly

炎上※自らの調査で解決できることが前提です ※なんだかんだでテンションあがります

Kansai RubyKaigi 06LT @sawanoboly

炎上はこのように変換することができます

Enjo

Kansai RubyKaigi 06LT @sawanoboly

Rubyを足してみましょう

Enjo+ Ruby※発表している人は直前までテーマを勘違いしています。 正しくは『Enjoy Progamming』

Kansai RubyKaigi 06LT @sawanoboly

Enjo+ Rubyこの計算は繰り上がりになるため、

※発表している人は直前までテーマを勘違いしています。 正しくは『Enjoy Progamming』

Kansai RubyKaigi 06LT @sawanoboly

この計算は繰り上がりになるため、 おとなりから`y`を借りてくることができます。

Enjo+ Ruby※発表している人は直前までテーマを勘違いしています。 正しくは『Enjoy Progamming』

Kansai RubyKaigi 06LT @sawanoboly

Opsでも Enjoy Ruby できる

※俺ができるんだから誰でもできるんだろう多分

Kansai RubyKaigi 06LT @sawanoboly

おわり

top related