Tokyo ruby kaigi 10 (sogabe)

1,947 views

Published on

Tokyo ruby kaigi 10 (sogabe)

  1. 1. 軽量Rubyで実現する 柔軟なルータSEILへの軽量Rubyの組み込み2013年1月14日 Tokyo Ruby Kaigi 10 曽我部 崇
  2. 2. 自己紹介曽我部 崇(@rev4t)● IIJで企業向けルータの開発などに従事最近の活動場所● mruby (http://github.com/iij/mruby)● openstack ○ コントリビュータ始めました(IPv6まわりの修正をした程度..)
  3. 3. SEIL(ザイル)作っています● ISPのノウハウを結集してIIJが開発した企業向 けアクセスルータ● Firmwareは独自開発、Hardwareは国内製造● 仮想化環境(VMWare, KVM, Hyper-V)対応 http://seil.jp/
  4. 4. mrubyとの出会い● 2011年春頃 ○ 社内プロジェクトで、SEILに cruby を組み込んで使った ○ firmware内の使わない機能を削除して、ギリギリ動いた● 2011年8月頃 ○ 社内の先輩 前橋さん(@tmeb4)にmrubyの存在を教えてもらう ■ 1/13 16:00-16:15 「Rubyによるお手軽分散処理」 ○ SEILに載るか試したくなり、関係者にコンタクトを取る● 2011年12月頃 ○ ソースコードを入手し、SEIL上でもmrubyが問題なく動作した! ○ 兼ねてから温めていた「柔軟なルータ」構想が、実現で きそう
  5. 5. もっと柔軟なルータが欲しい● イベントスクリプト機能 開発中 ○ SEILの機能をmrubyスクリプトから操作 ○ 経路障害、インタフェースのUp/Downなどのイベントをト リガになる
  6. 6. 色々作ってみました(1)● つぶやくルータ ○ 電力消費量をtweet ○ https://github.com/iij/mruby/tree/iij/app/twitter ■ matsumoto-rさんにmrbgem化していただきました ● https://github.com/matsumoto-r/mruby-oauth
  7. 7. 色々作ってみました(2)● Amazon S3 ○ 監視異常をトリガにして、コンテンツをアップロード ■ https://github.com/iij/mruby-aws-s3 アップロード 監視異常
  8. 8. いざ、組み込みの世界へ..● 今までの組み込み機器開発 ○ ドライバ、アプリ(ロジック)全てC言語又はアセンブリ言語 で開発● これからの方向性 ○ 速度やリソースの制約がある箇所だけC言語やアセンブ リ言語で記述 ○ その他のロジック部分は、出来る限り開発効率の良い 言語で開発 Ruby技術者を組み込みの世界に誘いたい :-)
  9. 9. mrbgem● mruby版のGEM● 2012年12月、本家にコミットされた● mrubyのビルド時にGEMを組み込むことができ る ○ rubyスクリプト、C言語のコードどちらも組み込み可能mrbgemに対応した以後、mrubyのエコシステムが急速に進化中 https://github.com/mruby/mruby/wiki/Related-Projects
  10. 10. Small is Beautiful● mruby(ミニマム)はruby言語の最少セットのみ を提供 ○ 利用者は、必要なものだけを選んで組み込む ○ 不要なものは入れなくて済むため、コンパクトになる Application Program gem A gem A gem B gem C (IO) (Regexp) (Socket) gem B RiteVM
  11. 11. mrubyは組込機器以外にも適用できる● アプリへの組み込みにも向いている● 例 ○ apache に組み込む => mod_mruby ○ iOSアプリに組み込む => MobiRuby ○ 言語内DSL ■ mruby(ミニマム) + 必要なmrbgemだけを組み込む ことで、コンパクトかつ堅牢になる● 利点 ○ アプリ動作ホストのruby環境に依存しない ■ rubyバージョン、gem依存を気にしなくて良い
  12. 12. ruby+mruby = Internet of Things● ruby + mrubyで、様々なモノやクラウドをイン ターネットを介して結び付けることができる 照明、家電、冷暖房、 蓄電池、各種センサ ,etc.
  13. 13. mrubyはフロンティア :-)● 現時点では、mrubyの基本部 分が出来ただけ ○ エコシステム、ドキュメント、mrbgems など、未整備のモノ多数
  14. 14. 今ならコントリビュートできることが沢山あります!
  15. 15. 軽量Rubyフォーラムのご紹介● 2013年2月に発足予定のNPO法人 ○ http://forum.mruby.org ○ IIJも加入予定● このような人・企業は、是非ご参加ください! ○ 自社製品の開発言語として軽量Rubyを採用してみたい ○ 軽量Rubyの今後の開発方針をいち早く知りたい ○ 軽量Rubyの今後の開発方針について意見したい ○ 顧客に軽量Rubyを提案することで差別化を図りたい ○ 軽量Ruby(あるいはその周辺ツール)の開発に関与したい ○ 自社で軽量Ruby製品をNPOを通じて宣伝したい ○ 軽量Ruby教育関連事業を企画したい ○ とにかく軽量Rubyを応援したい
  16. 16. PR: mrubyの夕べ● 日時: 1月28日(月)● 時間: 17:00-19:20● 場所: 東京 神保町 IIJ本社● http://bit.ly/mruby-evening17:00-18:30 に、まつもとゆきひろさんによるmrubyに関する講演があります!

×