SlideShare a Scribd company logo
1 of 48
Download to read offline
Tremaとその最新情報
-OpenFlowフレームワークの選びかた-
高宮 安仁
Trema 開発チーム
113年5月24日金曜日
Trema開発チームの
自称リーダーです
213年5月24日金曜日
NOX
Ryu
POX
Trema
Floodlight
OpenDaylight
313年5月24日金曜日
映画「ロスト・イン・トランスレーション」より
「一体どれがいいの?」
413年5月24日金曜日
作り手の視点から、
OpenFlow用ソフトウェアを
選ぶポイントを紹介します
513年5月24日金曜日
NOX
Ryu
POX
Trema
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++
JavaPython
Floodlight
OpenDaylight
Ryu
POX
使い慣れた言語を選ぼう
NOXTrema
1313年5月24日金曜日
1.0 1.1 1.2 1.3
対応バージョンで選ぶ
Floodlight
Trema
NOX
POX
Ryu
OpenDaylight
Ryu
Trema
Ryu
OpenDaylight
POINT 2
1413年5月24日金曜日
研究 プロダクション
NOX
POX
用途で選ぶ
Trema
Floodlight
Ryu
OpenDaylight
POINT 3
1513年5月24日金曜日
Trema (Ruby)
Ryu (Python)
OpenDaylight (Java)
Floodlight (Java)
プロダクションに向くもの
1.3 Ready
1613年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 WebARENAVPS クラウド※
•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日金曜日

More Related Content

Viewers also liked

RyuBGPSpeakerを活用したOpenFlow簡易ルータを試してみた
RyuBGPSpeakerを活用したOpenFlow簡易ルータを試してみたRyuBGPSpeakerを活用したOpenFlow簡易ルータを試してみた
RyuBGPSpeakerを活用したOpenFlow簡易ルータを試してみたToshiki Tsuboi
 
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月VirtualTech Japan Inc.
 
[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社
[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社
[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社Trainocate Japan, Ltd.
 
03 「重回帰分析」の入門
03 「重回帰分析」の入門03 「重回帰分析」の入門
03 「重回帰分析」の入門Shuhei Ichikawa
 
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめDSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめsleepy_yoshi
 
Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹
Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹
Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹Naoki Miyanaga
 
【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション
【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション
【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューションシスコシステムズ合同会社
 
GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)なおき きしだ
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!Yuji Nojima
 
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたRubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたYusuke Kon
 

Viewers also liked (10)

RyuBGPSpeakerを活用したOpenFlow簡易ルータを試してみた
RyuBGPSpeakerを活用したOpenFlow簡易ルータを試してみたRyuBGPSpeakerを活用したOpenFlow簡易ルータを試してみた
RyuBGPSpeakerを活用したOpenFlow簡易ルータを試してみた
 
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月
 
[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社
[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社
[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社
 
03 「重回帰分析」の入門
03 「重回帰分析」の入門03 「重回帰分析」の入門
03 「重回帰分析」の入門
 
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめDSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめ
 
Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹
Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹
Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹
 
【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション
【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション
【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション
 
GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
 
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたRubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
 

More from Yasuhito Takamiya

アプリ屋 対 ネットワーク屋
アプリ屋 対 ネットワーク屋アプリ屋 対 ネットワーク屋
アプリ屋 対 ネットワーク屋Yasuhito Takamiya
 
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったかYasuhito Takamiya
 
Tremaプログラミング ウル技(テク) 大技林
Tremaプログラミング ウル技(テク) 大技林Tremaプログラミング ウル技(テク) 大技林
Tremaプログラミング ウル技(テク) 大技林Yasuhito Takamiya
 
ニューTrema 5つのポイント
ニューTrema 5つのポイントニューTrema 5つのポイント
ニューTrema 5つのポイントYasuhito Takamiya
 
Ruby でパケットパーサを作ろう
Ruby でパケットパーサを作ろうRuby でパケットパーサを作ろう
Ruby でパケットパーサを作ろうYasuhito Takamiya
 
クラウドインターネットルータ
クラウドインターネットルータクラウドインターネットルータ
クラウドインターネットルータYasuhito Takamiya
 
Trema コミッタになるには
Trema コミッタになるにはTrema コミッタになるには
Trema コミッタになるにはYasuhito Takamiya
 
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)Yasuhito Takamiya
 

More from Yasuhito Takamiya (9)

アプリ屋 対 ネットワーク屋
アプリ屋 対 ネットワーク屋アプリ屋 対 ネットワーク屋
アプリ屋 対 ネットワーク屋
 
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか
 
Tremaプログラミング ウル技(テク) 大技林
Tremaプログラミング ウル技(テク) 大技林Tremaプログラミング ウル技(テク) 大技林
Tremaプログラミング ウル技(テク) 大技林
 
ニューTrema 5つのポイント
ニューTrema 5つのポイントニューTrema 5つのポイント
ニューTrema 5つのポイント
 
データで見るTrema
データで見るTremaデータで見るTrema
データで見るTrema
 
Ruby でパケットパーサを作ろう
Ruby でパケットパーサを作ろうRuby でパケットパーサを作ろう
Ruby でパケットパーサを作ろう
 
クラウドインターネットルータ
クラウドインターネットルータクラウドインターネットルータ
クラウドインターネットルータ
 
Trema コミッタになるには
Trema コミッタになるにはTrema コミッタになるには
Trema コミッタになるには
 
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
 

Recently uploaded

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 

Recently uploaded (9)

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 

OpenFlow フレームワークの選びかた