日時
: 2009年7月22日(水)
会場
: ホテル日航福岡 3F 都久志の間
スピーカー
: (株)カカクコム 食べログ本部副本部長 宮島 氏
概観
価格コムと食べログの概要からRubyを選んだ理由、実際にRubyを導入した際のレポート、またRubyを導入したことによるメリットデメリットの整理など。
話を聞いていると相当フランクにぶっちゃけ話が入っていたような気が。Web系の開発者にとっては、ダメなんだけど「ですよねぇ」的なノリが見えて好感が持てました。
価格コムと食べログの概要
グループサイト全体
月間PV
: 9億3千万
UU
: 3千万
システム概要
グループ内でもシステム構成がばらばら。サーバ系と開発言語系の組み合わせも異なる。
-Windows(ASP+C#)
-Linux
–PHP
–Ruby
意外なのは、価格ドットコムがWindowsサーバで動いているらしいこと。
食べログ
システムはLinux+Ruby on Rails。当初はWindows+ASP(VBS)で開発していたが、途中からLinux+Rubyに変更した。
システム自体は3人の開発者で3ヶ月程度で開発完了。ただしリリース後のトラブル等で数回手直しを行っている。
Rubyの検証
開発前はRubyの実績が不足しておりPHPを検討していた。その為Rubyの検証を行い以下を確認。
-大規模化は問題なし
-メンテナンス性が高い
Ruby on Railsを使用しているが、コアの部分にも手を入れているためバージョンアップが困難に。2009年6月にバージョンアップを行った。
Ruby導入後
開発は3ヶ月程度で終わったものの、リリース後の手直しには時間が掛かった。ただし、どちらかといえばRuby on Railsの問題よりも、高負荷時のMysqlの問題が大きかった。
-教科書的な書き方では耐えられない
–メモリの肥大化
–パフォーマンスの低下
-高負荷時のMysqlの問題
–Mysqlのパフォーマンスの低下など
Ruby導入のメリット
-コーディング量が激減
-可読性がよい
–新人教育もやりやすい
–ドキュメントいらず
-Templateを使うためデザイナーとの分業が可能
-注目度が高い
–作っていきなり世界有数のRuby on Railsのサイトに
ドキュメントいらずについて
: 変化の早いWeb系システムでは、ドキュメントの作成や維持管理コストが馬鹿にならない。可読性のよいRubyであればソースコード自体がマニュアルのように機能する。もちろんドキュメントを作るに越したことはないとのこと
デメリット
デメリットとして上がったものの一部は社内体制の問題だったりするのは、新しいものを導入した際の組織としての対応が難しいんだろうなぁと言う感じ。
-大規模化にはまだ不向きな点がある
-Ruby on Railsのコアをいじるとバージョンアップが困難になる
-マシンパワーを使う
–CPUを食う
–食べログ全体では30台のサーバで運用
-1億pv/月にも耐えられるが、スケーラブルではない
-テスト駆動開発が難しい
–Railsが、ではなくサイクルの早いWeb系の故の問題
-社内連携が追いついていない
-Controllerが肥大化する
-リファクタリングが必要になる
–コーディングスタイル等、複数人で開発する場合
リニューアル効果
-アクセス数増
-開発スピード高
-メンテナンス性向上
-ドキュメント省略可