Monday, August 27, 2007

楽天とマイクロソフトのRubyへの取り組み

Ruby on Railsを使ったWebサービスを対象としたコンテンスト、Award on Railsの一環として8月25日に開催されたRuby&Webサービスセミナーに参加してきました。

その中での楽天、マイクロソフトの両社のRubyへの取り組みについて、メモしてみたので、ちょっとご紹介します。

楽天:Rubyの導入は、OSSへの取り組みの延長と現場の熱意から
楽天 開発・編成統括本部の星野央司氏

楽天の開発の歴史
楽天では創業期から商用、オープンソースソフトウェアの両方を取り入りてきた。JAVAとPHPを使った開発が二大潮流になる中で、LAMP推進部を設立。グループ内でのノウハウを共有し、共有ライブラリ管理チームを設置することで、積極的に開発の横展開を行う。PHPやMySQLなどのオープンソースソフトウェアを大規模、エンタープライズで適用するために、100近い独自ライブラリを開発。こういった取り組みが現在のRubyプロジェクトにも活かされている。

dscn1547s.jpg

しかし、このような試みが成熟し、また「会社が大きくなってチャレンジする機会が減ってきた」という状況があった。開発陣を盛り上げるために話題の技術を導入しようという流れの中でRubyの導入の動きが出てきた。

現場の有志から、まつもとゆきひろ氏を始めとするRubyの関係者との交流や、勉強会などを通じて、プロジェクトが始動。

一般的には開発規模が大きく、プログラムの実行速度の速さ、大規模運用が求められるものは、JAVAで、逆にライトウェイトな開発に対してはRubyが活用されるというイメージがあったが「あえてフロントのサービスでRubyを使ってみる」ことに挑戦。

dscn1555s.jpg

そのために、Javaの10倍とも俗に言われる生産性はあるのか、セキュリティの脆弱性は存在しないのか、十分な処理速度があり負荷に耐えられるのか、その他運用上問題がないのかを検証。

結果としては、多言語の1.3~3倍の生産性があり、懸念していたセキュリティも外部機関監査を通過し、パフォーマンスにも問題は見られなかった。

今後はより複雑な処理での検証を行い、社内に横展開を行っていく6つから7つの複数プロジェクトが動いている。

またRubyへの取り組みの結果として、「社内も活性化され、Ruby以外にも新しい技術に対する(社内)提案が増えた」

マイクロソフト:.NET、SilverlightでのRubyの利用が可能に
マイクロソフト デベロッパー&プラットフォーム統括本部荒井省三氏

現在マイクロソフトからは.NET Framework上のRubyインタプリタ、IronRubyのアルファ版がリリースされている。

IronRubyと、IronRubyなどのスクリプト言語を動作させる環境として開発されているMicrosoft DLR(Dynamic Language Runtime)がある。

DLRは動的言語を作りやすくるためのインフラ。このDLRの開発に従事しているのがJim Hgunin氏であり、同氏は.NETにPythonを対応させたIron Pythonの作者。

このDLR上で動作するRubyがMicrosoftによって開発がサポートされているIronRubyであり、Ruby から .NET フレームワークを利用できるプロジェクト、RubyCLRの開発者であるJohn Lamn氏が開発を行っている。

7月にIronRubyのアルファ版がリリースされているが、「土台になっているDLRがまだ完成していない」ためDLRが完成してから完全なソースコードが公開される予定。未定ではあるが、Johnは、Railsも動かしたいという野望も。でも手が足りていない。開発を進めていく上で大事なのはユーザーのフィードバックと協力。

dscn1643s.jpg

また次世代のWebメディアプラットフォームとしてマイクロソフトが推進しているSilverlight1.1にもDLRが搭載され、IronPython、JScriptといったスクリプト言語の他に将来的にはRubyも利用できるように。

ということで、Rubyの利用が確実に広がっているのが良くわかるセッションでした。

開発者限定ですが、無料の開発合宿が(宿代、食事代がなんとタダです)、伊豆の伊東で今週末あるようです。
Award on Rails開発合宿
camp.jpg
まだ応募を受け付けているようですので、ご興味がある方はお早目に。

No comments:

Post a Comment