1 / 21

オープンソースと マイクロソフト の 良い関係 ~ Ruby on Rails on Azure ~

オープンソースと マイクロソフト の 良い関係 ~ Ruby on Rails on Azure ~. 日本 Ruby の会 arton  ( Tajima Akio ). D5-302. 2000 年( Ruby 1.4 )から Rubyist 昼の仕事は、業種特化垂直統合システムの開発者 Ruby や C# や Java についての著作があります 2010 年の 9 月から Ruby のコミッタ. 自己紹介. Ruby は Windows をサポートしています Windows 用 Ruby のディストリビューション

yasuo
Download Presentation

オープンソースと マイクロソフト の 良い関係 ~ Ruby on Rails on Azure ~

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. オープンソースとマイクロソフトの良い関係 ~ Ruby on Rails on Azure ~ 日本Rubyの会 arton (TajimaAkio) D5-302

  2. 2000年(Ruby1.4)から Rubyist 昼の仕事は、業種特化垂直統合システムの開発者 Ruby や C# や Java についての著作があります 2010 年の 9 月から Ruby のコミッタ 自己紹介

  3. Ruby は Windowsをサポートしています Windows 用 Ruby のディストリビューション 演能-Windows 特化 Web サーバインターフェイス 能楽堂-Ruby on Rails 特化ディストリビューション NougakuDoCompanion―Azure 用インストーラ アジェンダRubyon Windows、Ruby on Rails on Azure

  4. プログラミング言語 Ruby • スクリプト言語 • 正規表現、ヒアドキュメント、テキストベース • ファイル、ディレクトリ操作 • ソケット、http などのネットワークライブラリ • クラスベースオブジェクト指向言語 class Ruby def hello puts ‘hello world !’ end end Ruby.new.hello

  5. プログラミング言語 Ruby(続) • ほとんどすべてが式 if true 4 else 3 end #=> 4 • 関数プログラミング [1, 2, 3, 4].map(&:succ).inject(0, &:+) #=> 14 • メタプログラミング

  6. Rubyのサポートプラットフォーム • Supported • 公式にサポートしている。 • エラーが残っている限りリリースしない。 • DebianGNU/Linux 4.0 on IA32 • Best Effort • Supported には及ばない。 • 多少のエラーがあってもリリースしてしまう。 • mswin32,mswin64,mingw32 • 他に Mac OS X (Intel) 10.5 以降 など http://redmine.ruby-lang.org/projects/ruby-19/wiki/SupportedPlatformsJa

  7. Windowsディストリビューション • バイナリー配布 • zip ―ruby mswin • C:\Ruby―RubyInstaller • ActiveScriptRuby ― C:\Program Files • ソースからビルド (Gemの作成に必須) • 依存ライブラリの入手、ビルド • コマンドラインからのMake • 無料のビルド環境 (Visual C++ Express Edition) • X64 については PlatformSDK を併用 • http://tatsu-zine.com/books/winrubybuild

  8. Ruby on Rails • Web アプリケーションフレームワーク全部入り • MVC フレームワーク • テスティングフレームワーク • 開発、テスト、運用の 3つの環境 • OR マッパー • 特徴 • 少ないコード量 • シンプルな生成物 • 少ない設定ファイル • 純粋な設定ファイルは RDBMS の構成ファイルのみ

  9. Ruby on Rails • Web アプリケーションフレームワーク全部入り • MVC フレームワーク • テスティングフレームワーク • 開発、テスト、運用の 3つの環境 • OR マッパー • 特徴 • 少ないコード量 • シンプルな生成物 • 少ない設定ファイル • 純粋な設定ファイルは RDBMS の構成ファイルのみ

  10. Ruby on Railson Windows • SQLServerbinding ? • MySQL • IIS binding ? • CGI ! • 仮想ホスト中心主義 • JRuby • JDBC for SQLServer • Tomcat+Apachewith AJP or WebLogic • それって次善の策と次善の策の組み合わせ……

  11. Ruby on Rails の黄金パターン • 一度起動したらメモリーフルになるまで常駐 • 仮想ホスト • マルチプロセス Ruby アプリケーション Ruby アプリケーション Ruby on Rails Ruby on Rails Rack Rack …… Thinor Mongreletc. Thinor Mongreletc. ApacheWeb サーバ Webサーバ

  12. Http.sys • Windows Server 2003 / Windows XP SP2 • カーネルモードドライバ • プロトコルハンドラ + リクエストベースイベント • マルチプロセス 同一 ポート、マルチ URI WCFホスト アプリケーション IIS 既定のWebサイト IIS 追加のWebサイト …… Http.sys Webサーバ

  13. 演能 (Ennou & Ennoumu) • Rack ハンドラー • マルチプロセスサポート • IIS と共存可能 Ruby アプリケーション Ruby アプリケーション …… Ruby on Rails Ruby on Rails Rack Rack Ennou Ennou Http.sys Webサーバ

  14. 能楽堂 (NougakuDo) • Visual C++ 2010 (x64) ですべてをビルド • Ruby 1.9.3 mswin64 • zlib, yaml, OpenSSL などのライブラリ • tds.lib, tiny_tds, activerecord_sqlserver • Ennou/Ennoumu • 1.0.x → Rails3.01.1.x → Rails3.1 Http.sysは Administrator のみが利用可能 • ローンチャ

  15. Ruby on Rails on Azure • activerecord_sqlserver (tiny_tds) は、 SQL Azure に対応済み • NougakuDo は X64 native • Ruby on Rails は REST を推進 (サーバステートレス) → クラウドのスケーラビリティとの相性

  16. 能楽堂コンパニオン • 開発PC に構築した能楽堂とアプリケーションを 簡便な手順で zip 形式でパッケージ化 Web ロールに配置し、 zip をロードして実行 http://nougakudo.codeplex.com/

  17. 能楽堂コンパニオンの仕組み WebRoleVM AdminWeb(8080)Managementsite Configurationfile AzureStorageBlobTableQueue RoleInstance NougakudoController Deployruntime Deployapps Controlapps Runtime Applications Configuration NougakudoLauncherRackstart(80)/ stop

  18. まとめ • Ruby は Windows を サポートしている • Web アプリケーション プラットフォームとして RubyonRails は実用レベルで稼働 • Ruby onRails 運用プラットフォームとして WindowsAzure は有力な選択肢

  19. リファレンス 能楽堂http://www.artonx.org/data/nougakudo/ tiny_tds https://github.com/rails-sqlserver/tiny_tds 演能 https://github.com/arton/ennou 能楽堂コンパニオン http://nougakudo.codeplex.com/ Ruby環境構築講座 Windows編 http://tatsu-zine.com/books/winrubybuild

  20. ご清聴ありがとうございました • アンケート • にご協力 • ください • D5-302

More Related