Upload
yasuhito-takamiya
View
3.395
Download
4
Embed Size (px)
Citation preview
Tremaとその最新情報-OpenFlowフレームワークの選びかた-
高宮 安仁Trema 開発チーム
113年5月24日金曜日
Trema開発チームの自称リーダーです
213年5月24日金曜日
NOX
RyuPOXTrema
Floodlight
OpenDaylight
313年5月24日金曜日
映画「ロスト・イン・トランスレーション」より
「一体どれがいいの?」
413年5月24日金曜日
作り手の視点から、
OpenFlow用ソフトウェアを
選ぶポイントを紹介します
513年5月24日金曜日
NOX
RyuPOXTrema
Floodlight
OpenDaylight
プログラミングフレームワーク
613年5月24日金曜日
Webフレームワーク
713年5月24日金曜日
OFフレームワーク
SDN
813年5月24日金曜日
! よくある誤解 !フレームワークをインストールすれば、ネットワークを OpenFlow 化できる?
913年5月24日金曜日
OpenFlow化するには
1.コントローラを自分で作る
2.フリーなコントローラを探す
3.ソリューションを購入する 道具の出来がとても重要!
1013年5月24日金曜日
「作り手」の目1.生産性は?
2.機能は?
3.品質は?
1113年5月24日金曜日
POINT 1
“IBM の調査によると、あるプログラミング
言語での経験豊富なプログラマは、
その言語にほとんど経験のないプログラマの
3 倍以上の生産性がある”-Walston and Felix,1977
http://www.flickr.com/photos/mkeefe/3123775954/sizes/o/in/photostream/
言語で選ぶ
1213年5月24日金曜日
Ruby C++
JavaPythonFloodlightOpenDaylight
RyuPOX
使い慣れた言語を選ぼう
NOXTrema
1313年5月24日金曜日
1.0 1.1 1.2 1.3
対応バージョンで選ぶ
Floodlight
Trema
NOXPOX
RyuOpenDaylight
Ryu
TremaRyu
OpenDaylight
POINT 2
1413年5月24日金曜日
研究 プロダクション
NOXPOX
用途で選ぶ
Trema
FloodlightRyu
OpenDaylight
POINT 3
1513年5月24日金曜日
Trema (Ruby)
Ryu (Python)
OpenDaylight (Java)
Floodlight (Java)
プロダクションに向くもの
1.3 Ready1613年5月24日金曜日
...その中でおすすめは?
1713年5月24日金曜日
の特長
1813年5月24日金曜日
他のフレームワーク Trema
1913年5月24日金曜日
小ささ
200,000行 45,000行
2013年5月24日金曜日
http://www.spokesman.com/blogs/officehours/2012/apr/
同じ機能の
2,000行のコードと
どちらがバグが少ないか? 500行のコード
2113年5月24日金曜日
小ささ
信頼性
2213年5月24日金曜日
(NICT 石井秀治氏 提供)
Interop2012 ShowNet
さまざまな
スイッチのバグを
Tremaが発見!
2313年5月24日金曜日
小ささ
開発コスト
ダウン
2413年5月24日金曜日
アジャイル、高生産性
• Trema は Ruby を採用(Ruby on Rails と同じく、高い生産性)
•少ないコード数で機能の追加や変更が可能
•少ない工数で柔軟な NI, SI が可能
2513年5月24日金曜日
inst.install_datapath_flow( dpid, extract_flow(packet), CACHE_TIMEOUT, openflow.OFP_FLOW_PERMANENT, [[openflow.OFPAT_OUTPUT, [0, prt[0]]]], bufid, openflow.OFP_DEFAULT_PRIORITY, inport, buf)
vs.send_flow_mod_add( dpid, :match => ExactMatch.from(message), :buffer_id => message.buffer_id, :actions => ActionOutput.new(message.in_port+1))
同じ機能を1/2の行数で!
NOX
2613年5月24日金曜日
“高級言語を使うプログラマの生産性と
品質は、低水準言語を使うプログラマより高い。
高級言語は 1 行のコードでより多くの
命令を伝えることができる”- Brooks 1987; Jones 1998; Boehm 2000
http://www.flickr.com/photos/mkeefe/3123775954/sizes/o/in/photostream/
Rubyの記述性
2713年5月24日金曜日
Trema POX NOX Floodlight
ハブのコード行数
14
36
95
111
2813年5月24日金曜日
600,000行40,000行
Iaasのコード規模
2913年5月24日金曜日
高信頼 低コスト
実績増
3013年5月24日金曜日
Floodlight
Trema 12000
15000
ダウンロード数
30ダウンロード/日
3113年5月24日金曜日
Trema採用事例
•Biglobe データセンター
•NTTPC WebARENA VPS クラウド※
•KCCS GreenOffice UnifiedCloud※
•企業・組織 = NCLC, APC, NICT など※ Wakame-VDC を採用 完全OpenFlow 化は検討中
OSSで(一部)公開中!
3213年5月24日金曜日
小さいけれど
便利な道具
3313年5月24日金曜日
OFライブラリ
他のフレームワーク
コントローラ
3413年5月24日金曜日
OFライブラリ
Tremaコントローラ
NWエミュレータ
3513年5月24日金曜日
コントローラ
仮想環境
ノートPC 1台で実装 & テスト
実環境
そのままデプロイ
3613年5月24日金曜日
Trema Switch• Trema 特製、1.3 対応ソフトウェアスイッチ
•コントローラのテストに特化
•小さくて改造しやすい設計開発版を公開中!
https://github.com/trema/trema-edge/
3713年5月24日金曜日
Tremashark
3813年5月24日金曜日
小ささ
学習コスト
ダウン
3913年5月24日金曜日
学習コスト4013年5月24日金曜日
Trema 連載記事•こんな夜中に OpenFlow でネットワークをプログラミング!
(Trema チーム, SoftwareDesign 誌)http://gihyo.jp/dev/serial/01/openflow_sd/0007
•Trema で SDN を手のひらに(@SRCHACK.ORG, @IT にて連載中)http://www.atmarkit.co.jp/ait/articles/304/15/news004.html
4113年5月24日金曜日
日本語フォーラム
4213年5月24日金曜日
ゼロから半年で開発
4313年5月24日金曜日
Trema Day(年4回)
4413年5月24日金曜日
4513年5月24日金曜日
オープンな開発
• GPL2ライセンス
• 組織を越えた開発体制NEC, axsh,GREE,Yandex, Stratosphere etc.
• 実用的でフリーなサンプルアプリが充実https://github.com/trema/apps/
http://gigaom.com/2010/07/16/the-state-of-open-source-for-the-smart-grid/
4613年5月24日金曜日
Tremaの小ささ生産性・信頼性が高く、開発・学習コストが低い
商用クラウドでの実績が多数
日本語ドキュメントが豊富
4713年5月24日金曜日
4813年5月24日金曜日