価格コムとRuby(?) フクオカ Ruby Days(一日目)

日時
: 2009年7月22日(水)

会場
: ホテル日航福岡 3F 都久志の間

スピーカー
: (株)カカクコム 食べログ本部副本部長 宮島 氏

概観

価格コムと食べログの概要からRubyを選んだ理由、実際にRubyを導入した際のレポート、またRubyを導入したことによるメリットデメリットの整理など。

話を聞いていると相当フランクにぶっちゃけ話が入っていたような気が。Web系の開発者にとっては、ダメなんだけど「ですよねぇ」的なノリが見えて好感が持てました。

価格コムと食べログの概要

グループサイト全体

月間PV
: 9億3千万

UU
: 3千万

システム概要

グループ内でもシステム構成がばらばら。サーバ系と開発言語系の組み合わせも異なる。
-Windows(ASP+C#)
-Linux
--PHP
--Ruby

意外なのは、価格ドットコムがWindowsサーバで動いているらしいこと。

食べログ

システムはLinuxRuby on Rails。当初はWindowsASP(VBS)で開発していたが、途中からLinuxRubyに変更した。

システム自体は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が肥大化する
-リファクタリングが必要になる
--コーディングスタイル等、複数人で開発する場合

リニューアル効果

-アクセス数増
-開発スピード高
-メンテナンス性向上
-ドキュメント省略可