rubyistのためのcloudstack apiコンソール
DESCRIPTION
第16回CloudStack勉強会での発表スライドです. CloudStackにはCloudMonkeyやcloudstack_ruby_clientのようなAPIコンソールがあり,CUIからCloudStackを操作できます. 今回はCloudStackAPIをpryから叩けるようにしたCloudStack API Consoleを使ってRubyシンタックスを使えるようにしてみました.TRANSCRIPT
1/17第 16回 CloudStackユーザ会
RubyistのためのCloudStack APIコンソール
電気通信大学 中島 拓真
@penguin2716
2/17第 16回 CloudStackユーザ会
自己紹介
■所属:電気通信大学 情報システム学研究科(M1)
■研究:クラウド上の計算資源の効率利用■開発:mikutterプラグイン,
CloudStack 3行スクリプト■ Twitter:ぺんぎんさん @penguin2716
3/17第 16回 CloudStackユーザ会
CloudStackの操作方法
■ WebUIから– 最も簡単
■ APIを使って– CloudMonkey
https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+cloudmonkey+CLI
– cloudstack_ruby_client (by chipchilders)https://github.com/chipchilders/cloudstack_ruby_client
4/17第 16回 CloudStackユーザ会
CloudStack WebUI
5/17第 16回 CloudStackユーザ会
CloudMonkey
■もはや標準の APIコンソール■パイプが使える
6/17第 16回 CloudStackユーザ会
CloudStack Ruby Client
■ CloudStackの APIを叩く Ruby実装■ Written by Chip Childers
7/17第 16回 CloudStackユーザ会
APIを利用する利点
■作業の自動化■自社製品との連携■端末からのデバッグ(皆さん日常的に端末利用してますよね?)
端末からの操作で捗る
8/17第 16回 CloudStackユーザ会
ところで
■皆さん日常的に端末使っていますよね> Yes
9/17第 16回 CloudStackユーザ会
ところで
■皆さん日常的に端末使っていますよね> Yes
■皆さん Ruby書けますよね> Yes
10/17第 16回 CloudStackユーザ会
ところで
■皆さん日常的に端末使ってますよね> Yes
■皆さん Ruby書けますよね> Yes
■皆さん GUIよりも CUIの方が好きですよね> Yes
11/17第 16回 CloudStackユーザ会
irb
■インタラクティブに Rubyのコードを実行■ Ruby標準でついてる
12/17第 16回 CloudStackユーザ会
pry
■インタラクティブに Rubyのコードを実行■ irbより高機能でカッコいい
13/17第 16回 CloudStackユーザ会
cloudstack_api_console
■ Rubyシンタックスが使えるCloudStackの APIコンソール– > listVirtualMachines.map{|vm|...}.each{|vm|...}
■様々な用途で捗る– 大量の VMを操作– 特定の条件を満たす VMを操作
14/17第 16回 CloudStackユーザ会
Why not CloudMonkey?
■我々は Rubyに慣れすぎた– forとか ifとか使いたい– mapとか selectとか使いたい– 「 Rubyでクライアントを書いた」「 Rubyでインタラクティブな操作したいよ」
■ CloudMonkey?– pipeで grepしたりできる– シェルではない
15/17第 16回 CloudStackユーザ会
色がつきます
■ Rubyシンタックスが使えるCloudStackの APIコンソール– > listVirtualMachines.map{|vm|...}.each{...}
– > result = listVirtualMachines
– > result.each{|vm| …}
■様々な用途で捗る– 大量の VMを操作– 特定の条件を満たす VMを操作
16/17第 16回 CloudStackユーザ会
デモ
■ git clone ↓↓はこちら
https://github.com/penguin2716/cloudstack_api_console.git
17/17第 16回 CloudStackユーザ会
まとめ
■ CloudStackの APIを利用しましょう■ CUIに慣れている皆さんに既存のコンソールはちょっと物足りない
■ Rubyを使うと CUIは 100倍使いやすくなる