福岡に出張してきました。福岡Rubyビジネス拠点推進会議(F-Ruby)総会と、F-Ruby&RBC合同イベント「フクオカRubyDays」Vol.1 への参加です。
最初に、参加した感想を言うと、「フクオカに来てよかったよ!」
特にいわゆるユーザ企業や自社サービス開発者などとしては。JRubyの適用事例や楽天の取り組みのオーバービュー(これまでの楽天の発表で一番わかりやすかったです)、カカクコムのRuby導入についての詳細(体制やつまづいた点など)とか、これはちょっとここだけの話だったらもったいない、と、ここに書き記す感じです。
総会議事など
F-Rubyの概要/取り組みはこちらから。以下メモ。予算面など、本気度がすごい。
「JavaとRubyの融合による開発イノベーション」by Thomas Enebo (サン・マイクロシステムズ)
JRuby のThomas Eneboによるデモ含めたプレゼン。JRuby による実例(サービス/プロダクト)の紹介があり、具体的に提示/列挙されてインパクトがあった。(自分的には一番欲しいと思っていた情報)
JRubyの良さ(APIやVMといったJavaの蓄積など)は、実務でJRubyを実際に利用したり、javaでの開発/運用をやっている/いたことを思うに、すごいメリット感は感じているのだけど、一部バッチなどでは使う気になるけど、まだまだサービス全体で、とまで踏ん切れなかった。けどやっぱこういう事例が出ると違うよね。
大体はJavaのAPI(標準およびそれぞれのプロジェクトで過去に開発した資産)の流用が主目的。実際多岐にわたるライブラリがそのまま使えたり、過去の資産の流用も可能ってのが、やっぱでかい。
うーんJRuby派になりたくなってきた(?)
「楽天におけるRuby活用の今と未来」by 安武 弘晃 (楽天)
楽天とRuby。その取り組み/選択の歴史のオーバービューでした。
「あえて一般サービスへ投入」「検証の結果問題ない」といった、結果で示す、という姿勢は、個人的に大事にしたいと思っている事でもあり、あー楽天もかっこいいな、なんてw
技術で勝負→ならばRuby、という選択は、さらにウェブとの相性(RailsといったFWや、元々の言語設計、ライブラリ群のラインナップ)もあり、やはり間違ってない選択なのかも、と。後述のカカクコムさんも同じような選択/選定経緯だし。
- Rubyの社内事例
- 日本初世界へ
- あえて一般サービスへ投入
- 生産性(他言語1.3-3倍)
- セキュリティ(内部監査&外部監査OK)
- パフォーマンス(問題無し)
- 運用性(社内ツールが使用できた
- 複数プロジェクトでruby活用
- ROMA&fairy
- 楽天の場合
- 5年間で50倍
- 5000万会員
- 日商40億
- ROMA
- key/valueストア
- RDBより高速、アクセスも簡単
- スケール可能
- 耐障害性が高い
- fairy
- 社内実績を出した後、OSS化予定
- なぜ自社で?
- 国際展開/世界へ
- 日本から世界へ
- 台湾での展開(合弁会社)
- us rakuten(linkshare)
- roma活用
- ボストン関連会社のエンジニアもrubykaigi参加
- 人材戦略
- 国際プログラミングコンテスト>協賛
- 中国/インドでの新卒採用開始(現地実地試験も(PG))
- 日本から世界へ
- インドでなぜITがのびたか?
- 経済格差
- 日本より高いケースもある
- 道路が無く工場がない
- そこでソフトウェア産業が伸びた(伝送装置のみあればよい
- ITは地域を、その場所を活性化させる→福岡!?
- 経済格差
「カカクコムにおけるRubyの取り組みと今後の展望」 by 宮島 壮洋 (カカクコム)
カカクコムさんのプレゼン、大変おもしろかった(興味深かった)です。
同じフィールドにおける、実例や選択の経緯、今後など、福岡来てよかったー!な感じでした。
時系列に沿ったRuby採用の歴史など、そうなのかーそうだったのかーとうなりまくりでした。
しきりに言われていた、「うちは技術のない会社と言われてきた」「そこに立ち向かいたかった(見返したかった)」「まだまだだけど、言えるようになってきた」ってのは、すごい自分の会社の状況や個人的に目指してるとこでもあり。がんばろう!
実際の本番導入の話では、やはりチューニング不足(特にDB)が問題になったようで。これもどこもおんなじなんだなー。
TDDできてない、ってのは安心した一面(おいおい)もあるけど、やっぱやらんとだねー。
- グループで10サイト
- アクセス数 = グループ月間総ページビュー:約10億
- システム構成は3つ
- カカクコムでのRubyの歴史
- Ruby導入経緯
- Ruby導入
- 導入メリット
- 導入デメリット
- 現状と課題
- 1億PVに耐えているが、完全なスケーラブルな設計ではない
- TDDできてない
- 社内勉強会は開催している
- 自社サイト間での連携が少ない(コードなど)
- 定期的なリファクタが必要
- コーディングスタイルが開発担当によって様々
- controllerの肥大化
- 社外活動
- 今後の予定
- まとめ
RBCさん、TISさんのプレゼンもありましたが、F-Rubyへの話やこれまでの発表内容が主だったようなので、掲載は見送ります。
翌日、午前中は、まつもとさんのライブコーディングという、実体はまつもとさんQA大会?。
午後のやつは、参加者のバックボーンばらばら(システム、営業、その他から、Rubyへのスキルも)だった&「Hadoop=分散処理」となってしまい、分散処理の中のある分野、とうまく説明できた方が全体がうまく勧められたのでは、と思いました。
というわけで、充実した福岡の2日間でした!
寿司、刺身、イカ!、ラーメン、寿司、うまい!福岡うまーい!!!
おわり