Gdc 2010 architecture final slideshare edition

27

Transcript of Gdc 2010 architecture final slideshare edition

Page 1: Gdc 2010 architecture final slideshare edition
Page 2: Gdc 2010 architecture final slideshare edition

Open Source Secrets: The Architecture Behind a Successful

Virtual Goods BusinessTimothy Fitz – IMVU Inc.

Page 3: Gdc 2010 architecture final slideshare edition

An online community where members use 3D avatars to meet new people, chat, create, and play

What’s IMVU?

Page 4: Gdc 2010 architecture final slideshare edition

Company Overview

Founded in April, 2004

Based in Palo Alto, CA

70 employees

3 institutional rounds

$30M raised

Page 5: Gdc 2010 architecture final slideshare edition

0

10

20

30

40

45M

Dec-05

Jun-06

Dec-06

Jun-07

Dec-07

Jun-08

Dec-08

Jun-09

Oct-09

3D avatars

Virtual goods

45M registered users

10M uniques/month

$30M+ revenue run rate

Profitable

Cumulative Registrations

Snapshot

Registered Users

Page 6: Gdc 2010 architecture final slideshare edition

User-Generated Content

0.0

0.5

1.0

1.5

2.0

2.5

3.0M

06/04

12/04

06/05

12/05

06/06

12/06

06/07

12/07

06/08

12/08

06/09

3 Million Virtual Items

Page 7: Gdc 2010 architecture final slideshare edition

Celebrating with Mohawks

Page 8: Gdc 2010 architecture final slideshare edition

Shameless Promotional Plug

We’re Hiring!www.imvu.com/jobs

Page 9: Gdc 2010 architecture final slideshare edition

Overview

Development Process Server Architecture Client Architecture

Page 10: Gdc 2010 architecture final slideshare edition

Always Be Shipping

Page 11: Gdc 2010 architecture final slideshare edition

Client: 1-2 releases/dayWebsite: 35-50 release/day

Page 12: Gdc 2010 architecture final slideshare edition

Ship Incremental Value

Page 13: Gdc 2010 architecture final slideshare edition

Always Release Ready

Page 14: Gdc 2010 architecture final slideshare edition

QA can’t afford to repeat themselves.

Page 15: Gdc 2010 architecture final slideshare edition

Write tests for everything.

Page 16: Gdc 2010 architecture final slideshare edition

No tests? Not done.

Page 17: Gdc 2010 architecture final slideshare edition

Tests are a contract.

Page 18: Gdc 2010 architecture final slideshare edition

Commit. Go Green. Push.Repeat.

Page 19: Gdc 2010 architecture final slideshare edition

Cluster

Scaled up LAMP stack All state in memcache/MySQL No instance servers Dumb message bus for realtime

Page 20: Gdc 2010 architecture final slideshare edition

Cluster Size

365 Apache nodes 89 MySQL nodes 107 Memcache nodes 102 Perlbal nodes 22 Mogile disk nodes 15 solr nodes

Page 21: Gdc 2010 architecture final slideshare edition

Before…

Page 22: Gdc 2010 architecture final slideshare edition
Page 23: Gdc 2010 architecture final slideshare edition
Page 24: Gdc 2010 architecture final slideshare edition

HTML/JS

Page 25: Gdc 2010 architecture final slideshare edition

Not HTML/JS

Page 26: Gdc 2010 architecture final slideshare edition

Client Code by Language

Language Lines

C++ 168k

Python 129k

Javascript 36k

HTML 24k

CSS 13k

Page 27: Gdc 2010 architecture final slideshare edition

Shameless Promotional Plug

We’re Hiring!www.imvu.com/jobs