楽天株式会社におけるOSS活用の現状と今後の展開について [OSC2008Spring]

楽天株式会社におけるOSS活用の現状と今後の展開について
(サード・リアリティ時代に向けて)
楽天技術研究所 森正弥

・実は楽天はオープンソースを使っている会社
・今まであまりテクノロジーの側面を出してなかったけど、昨年くらいから出してみようかと、10周年だし
・テクノロジーカンパニーとして研究所を立ち上げてみたり、rubyを導入してみたり
・ruby開発者のまつもとさんは、楽天技術研究所のフェロー
・現在メンバーは11名
・楽天技術研究上の設立および、楽天の技術力を高める様々なテクノロジーの開発とかやってる

・松本さんも含めて、先週アメリカに行ってきた
・オレゴン州は実はオープンソースの聖地
・リーナスはオレゴン州に住んでる、他にも
・サンフランシスコから飛行機で2時間弱、住みやすい
・オレゴン州立大学がオープンソースに力を入れていて、オープンソースラボとか立ち上げてる
・州でベンチャーを支援するため、インキュベーション施設を作ったり
・オープンソース自体の研究もしている
・すごい

・日本だったらどうなんだろう?
・京都とか(はてな?)、札幌とか、松江(まつもとさん)
・東京に比べて田舎で、物価が安くて、住みやすい
・オープンソースはのどかな平和なところじゃないと育たない
・東京ってどうなの?
・私は思ったのは、日本でのオープンソース活用とか支援とかは、アメリカとは違う形で考えていかなきゃいけない

・楽天と言えば、EAGLES、楽天市場(6万店、商品数2000万点、会員数は4000万、、、)
・従業員は毎月100人くらい増える、グループで5000人、開発部隊は600人、新卒が250名取ってるから平均年齢は4月に下がる、とか
・創業時のコンセプトは、日本を元気にしたい
・和歌山県北山村の村おこしに一役買う、まずい「じゃばら」を何とかする、花粉症に効く? 某テレビで流されて、あら大変
・インターネットを使って、日本の様々な地方にある多様性にリーチ出来るようにしたい
・アマゾンとは逆の発想、アマゾンは整然と、楽天はなんでもかんでも
・データベースはお店によって千差万別

・楽天のコア、楽天経済圏
・楽天市場が中心にあって、その周りにあるサービスを立ち上げている
・楽天スーパーDB、レコメンデーション、パーソナライズ、購買予測、KPIモニタリング
・慶応SFCにデータを提供、研究、分析を進めている
・わかったことは、ものすごくロングテール、ジャンルにかかわらず
・ネットの多様の活動は全てロングテール

・今後は台湾をとっかかりとして、世界展開を行う

----- こっからが本題

・OSSはどう活用すべき? 適材適所、Happy、サードリアリティ
・楽天はアウトソースを活用している? 手作り
・楽天はオープンソースを活用している? 活用している
・楽天の開発の実体
・最初は13店舗のみ
・最初は、SUN + informix
・でもFreeBSDに替わった
・アキバで買ったパーツとか
・チャレンジすることが希望
・三木谷さんがソースを書いたことも

・2000年くらいに店舗は1500前後
・技術的には、二大潮流が確率、商用もオープンソースも積極的に
・でも、徐々にサーバやCPU増設でAPPサーバのライセンス料が高騰
・適材適所で使い分けるべき
・この頃、開発スタイルをオープンソース的に(共通ライブラリ管理チーム、CVSでのバージョン管理)
・LAMP推進部の設立

・そして、現在
・LAMPも商用も規模が拡大、サーバ数千台、開発体制は1200人規模(依託も含む)、OSSと商用をええ案配で融合
・データベース→Solaris、FreeBSD→現在はほとんど使っていない(一人の技術者に依存)、Linux→Web、メール、Debianがおおい、コストメリットが問題にならないくらい安定
・ネットワーク8Gbps
・トランザクションが多いから、通常はおきないような事例がおきる

・OSSと商用の違い
・信頼性、以前は信頼性が必要な箇所は商用、現在は区別せず
・パフォーマンス、スケーラビリティとライセンス料、商用化OSSの区別は無し
・高機能、アプリケーションの機能単位で分ければ問題ない
・保守、バグはどちらもある、商用DBMSが買収されたこととか、OSS毎でサポート企業と組んでくる
・結論、サービスをタイムリーに適切に作ることが大事、技術者のスキルとか希望とかそのレベルの話し、慣れたオープンソースを使ってもらった方がよい

・LAMP推進部が積極的展開
・PHP/MySQLは2002年ごろから本格導入、独自フレームワーク、ライブラリなどを適用
・Apache、Tomcat、Senna

・会社も、エンジニアも、お客様も、Happyにするために
・オープンソースの活用で、それが実現できればOK

・10周年を迎えて、チャレンジしていく、創業時を思い出し
・WebAPIを提供してみたり
・LAMP推進部から、アーキテクチャ標準化推進部へ
・Sennaが社内では熱い
・国際開発に向けた様々なOSSの取り組み
・Jungleプロジェクトの展開

・Ruby/Rails導入
・2006年8月にまつもとさんとブレスト
・まつもとさんがエンタープライズでの活用事例を作りたい
・ひそかにメンバーが結集
・勉強会、講演会、研修
・でもって、本格導入
・当初はバックエンドで活用していたけど、フロントにも導入してみた
・生産性→Great(1.6~3 x)、セキュリティ→(No Problem)、パフォーマンス→OK、運用性→Challenge、自分たちで開発、チャレンジ
・今は本格的に導入、myRakuten(igoogleみたいな)で本格的に

・情報爆発の時代に対応できるように
・大規模処理が出来るかどうかが企業の生命線に
fairy & ROMA
・fairy、処理分散・CPU分散
・ROMA、データ分散・メモリ分散
・両方とも結構開発が進んできてる

・未来ビジョン、サードリアリティ→ググる
・現実とネットがどのような形で融合するかを考察
・Webの進化は、リア里程を進化させる
・より早く柔軟な技術活用