楽天テクノロジーカンファレンス2009

行ってきました。とりあえず、個人的なメモ(数字とかキーワード)だけ。

  • (追記:2009-10-27) よりよいまとめ/詳細なログが下記などにあるので、そちら参照されたほうがきっとよいです。

楽天

概要的な話
  • サーバ数千台
  • 開発拠点、全国に(5, 6カ所?)
  • スーパーDB (集約された顧客DB)
  • 流通総額 6638億/年
  • 4700万会員
開発
  • 100以上ドメイン(プロダクト?)
  • 900インスタンス
  • 店舗ごとに同じ構造のスキーム(64/server)
  • KPI
    • 流通総額 1兆円
    • コスト/流通総額 1%以下
    • 稼働率 99.95%
  • ブランチはけっこう別れる
  • みんな(数十人?)が一室に集まってメンテナンスリリース
  • 新たな試み
    • HTTPセッション使わない
      • Stateful なWebAPIで、Stateless な買い物かごの実現
    • KeyValueStore &非同期処理で、脱RDBMS
  • エンジニア: 全2000人のうちの 3分の1 くらい(600人超?)
    • プロデューサーとか含む
    • "プロジニア" = プロデューサー兼プログラマ

クックパッド

  • 月間770万ユーザによるアクセス
  • 3.5億PV
  • 16-18時、秋-バレンタイン がアクセス多い傾向
  • 各"キャスト"の欲求を要件化
  • 3つの期間「設計」「開発」「質の向上」
  • 公開前にアナウンスしない、不安いだかせるだけ
  • 機能を説明しない(直感で使えるようじゃないとダメ)
  • 値段をつける(金払う価値があるレベルじゃないと無料でも使ってもらえない)

ConView

  • Thrift: クロス言語RPC
  • マルチタスク、マルチスレッドの、Model-less フレームワーク
  • APIからの取得情報がModel

LinkShare

アジャイル
  • 10日1スプリント
  • フェーズ毎(開発、テスト等)に担当者の名前書いた付箋
  • 不具合も付箋に書いてはる
  • Lessons Learned (スプリントのふりかえり)
    • Try, Keep, Problem 的なものを、色分けして各人が付箋はる→みんなで投票
  • Waterfall 型の頃は初期にバグの30%しか発見できてなかった
ユニットテスト
  • ユニットテスト義務化 → レガシーコード置き換え進む
    • 永続レイヤーが78% カバーできたプロジェクトや, 全体が 90% できたものも
QA
  • 自動化目標: 3週間かかるリグレッションテストを 2週間に
  • Selenium 使う
  • 1. テストケース整理 2. マルチブラウザ対応 3. ケース間依存解消(途中)
  • 結果をリポジトリに再取り込み(?)
  • fail したときのスクリーンショット

楽天USA

  • チーム構成: 4 Developer, 2 QA, 1 GUI designer, 1 DBA
  • 指標大事
  • コード:テストコード = 1:1.3
  • QA用サーバ on AmazonEC2 (3台: trunk, branch, release)
  • Capistorano (Deploy Tool)
  • New Relic RPM (モニタリングツール)
    • リリース毎のパフォーマンスチェック、視覚化
  • Haptoadhoptoad アプリエラー処理アプリ