Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Webサービスの高度化に耐えうる基板設計に関する研究

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 Webサービスの高度化に耐えうる基板設計に関する研究

ICTイノベーション2013 オーラル発表

Avatar for MATSUMOTO Ryosuke

MATSUMOTO Ryosuke PRO

February 19, 2013
Tweet

More Decks by MATSUMOTO Ryosuke

Other Decks in Technology

Transcript

  1. 研究の背景 • Webサービスの高度化に耐えうる基盤設計 – 複数ホストを効率良くサーバに収容する設計 • Webホスティング、SaaS、PaaS → マルチテナント環境 1.

    Webサービス開発環境を安価で容易に提供 – Webサービスの多様性を促進 2. サービス提供ホストを効率よくサーバに収容したい – 単一のサーバプロセスで複数のホストを仮想的に処理 – 仮想ホスト方式の採用(例:ApacheのVirtualHost) 3. 大規模運用での仮想ホスト方式の課題を解決 – 高セキュリティ、機能拡張が容易、リソース管理可能 3
  2. 本研究 • Webサーバの仮想ホスト基盤設計に必要な要素 1. 運用と機能拡張の支援[1] → mod_mruby 2. セキュリティと性能の両立[2]→ mod_process_security

    3. リソースの分離[論文執筆中] → mod_resource_manager 4. 大規模・高集積・運用[3] → インフラ設計 – 大規模・高集積かつ高いセキュリティと性能を両立 – 運用性も高く、Webサーバの機能拡張も容易 [1] 松本亮介・岡部寿男, 組み込みスクリプト言語mrubyを利用したWebサーバの機能拡張支援機構, 情報処理学会研究報告 Vol.2012-IOT-18, No.6, 2012年6月. [2] Ryosuke Matsumoto, Yasuo Okabe, Access Control Architecture Separating Privilege by a Thread on a Web Server, The 12th IEEE/IPSJ International Symposium on Applications and the Internet (SAINT2012), pp.178-183, July 2012. [3] 松本亮介, 川原将司, 松岡輝夫, “汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善”,情報処理学会論文 誌,Vol.54, No.3, (2013-3 掲載予定). 4
  3. mod_mruby 5 • mruby – 組み込み機器やアプリ組み込みに特化した言語 – C言語でかかれたホストアプリをRubyでコントロール可能 • mod_mruby

    1. Apacheにmrubyを組み込んでRubyでApacheをコントロール 2. 高速かつ軽量に動作 3. Linux、FreeBSD、Windows等で動作可能 • mod_mrubyの利用例 – オリジナルのリバースプロキシ – 複雑な条件によるリダイレクト処理 – 認証やアクセス制御、suEXEC – Web API – ApacheモジュールをRubyで書ける 詳しくは研究ブログ http://blog.matsumoto-r.jp/
  4. mod_hello (C言語) mod_mruby (本研究) Index.html (静的コンテンツ) 言語 C言語 mruby html

    性能 (Response/sec) 14662.33 14578.28 11158.17 1. Hello Worldを出力するだけのApacheモジュールを作成 2. 同時接続数100、総接続数10万でベンチマークを実施 3. 1秒間に処理できたリクエスト数を計測 mod_mruby • mrubyの呼び出し処理はほとんどボトルネックにならない • 文字列出力処理においては静的コンテンツと同等の性能 • nginx用のngx_mrubyも開発中