「Gunosyの急成長を支えた技術チームの取り組み実例を大公開!」に参加してきました

2014/09/24(水)にGunosyさんが主催するイベント、Gunosyの急成長を支えた技術チームの取り組み実例を大公開!に参加してきました。

1年で1台->100台まで増やした話

最初は、CTO 石橋雅和さんの発表。

1年で急激な成長を遂げたGunosyのインフラをどう支えていったかというお話でした。

  • Gunosyのサービスが、メール配信→スマホアプリ→夕刊導入→GunosyAdsローンチと拡大
  • その中で、以下のような変化が起こる
    • メール配信時は負荷の大半がメール配信及びリダイレクタであったが、スマホアプリリリースによって負荷がAPIエンドポイントに変わった
    • メール配信はユーザごとに受信時間にズレがあったが、スマホアプリはプッシュ通知によって同時刻に一斉にアクセスするため、スパイクが極めて急峻になった
    • 夕刊導入によって、解析時間の短縮が必要になった
  • 早めにアーキテクチャを決定し、チューニングに専念することで対処

変化していくユーザを検知し改善を行う分析基盤の話

続いて、吉田宏司さんの発表

DAUチームというのは、ユーザのリテンションに責任を持っているということで、この組織名がついているのだとか。

  • 「数字は神より正しい」という方針のもと、開発を行っている
    • 「迷ったら挑戦しよう」でどんどん進める
  • 改善案は新規ユーザに対してテストする
    • 既存ユーザだとバイアスがかかっているので効果が判定しづらい
    • 新規ユーザの定着率を見る
  • 人力でもいいからレコメンドロジックを組む

フルスクラッチで書いたアドサーバの開発運用史

続いて、印南聡志さんの発表

Gunosyの広告に関するお話。

  • 広告による収益の最大化 → 良い広告大量に配信する
  • とにかくクリックされやすい広告を出す(第一の罠)
    • ユーザはストレスを感じ、広告主はコンバージョンの低さに不満
    • ユーザ、メディア、広告主の三者の利益を最大化するような広告を心がける
  • 広告を大量に配信するためにサーバを横に並べる(第二の罠)
    • レイテンシ増大
    • たとえキャッシュでも1箇所を参照するような構成にしない

Gunosyを支える技術

最後は、執行役員 松本勇気さんの発表

推薦アルゴリズムとアド以外の全ての開発に責任を持っている部隊のお話。

  • APIサーバにおける負荷対策
    • TVCMを打つということで性能を一桁上げる必要に迫られる
    • RubyからGoへの移行
    • データのほとんどをプロセスキャッシュに乗せ、別スレッドでDB書き込みを行い、RDBにアクセスしないようにする
  • インフラ管理
    • ChefとOpsworksで管理
    • AWSコンソールからポチポチクリックするだけで構成を作れるよう設計
    • 海外向けは攻めた構成になっている
    • Dockerを本番で使った経験あり(すぐに下げた)
  • フロントエンド開発
    • iOSアプリは細かい周期でリリースできないため、リモート指定UIを導入
    • 自社製組版エンジンを導入し、よりコンパクトに文字列を表示できるように

 

全体的な印象として、積極的に改善を行っていき、常により良いものに変更し続けている姿が印象的でした。 また、非常に若い方が多く、その方々がどんどん経験を積みながら第一線で活躍しておられ、非常に感銘を受けました。