Frontend

73 downloads 169 Views 2MB Size Report
Sam's Video. Splash page experiment. Variations: ... Sam's Video. Splash page experiment. Variations: ... (HTML + CSS + jQuery). Python. Google App Engine.
Dan  Siroker Co-­‐Founder  &  CEO

What  is  A/B  &  MVT  tes0ng?

Media

Button

Splash page experiment Variations: Button:

Media:

1. Sign Up

1. Get Involved Image

2. Learn More

2. Family Image

3. Join Us Now

3. Change Image

4. Sign Up Now

4. Barack’s Video 5. Springfield Video 6. Sam’s Video

Button: “Sign Up”

Button: “Learn More”

Button: “Join Us Now”

Button: “Sign Up Now”

Splash page experiment Variations: Button:

Media:

1. Sign Up

1. Get Involved Image

2. Learn More

2. Family Image

3. Join Us Now

3. Change Image

4. Sign Up Now

4. Barack’s Video 5. Springfield Video 6. Sam’s Video

Media: “Get Involved”

Media: “Family”

Media: “Change”

Media: “Barack’s Video”

Media: “Springfield Video”

Media: “Sam’s Video”

Splash page experiment Variations: Button:

Media:

1. Sign Up

1. Get Involved Image

2. Learn More

2. Family Image

3. Join Us Now

3. Change Image

4. Sign Up Now

4. Barack’s Video 5. Springfield Video 6. Sam’s Video

Splash page experiment Variations: Button:

Media:

1. Sign Up

1. Get Involved Image

2. Learn More

2. Family Image

3. Join Us Now

3. Change Image

4. Sign Up Now

4. Barack’s Video 5. Springfield Video 6. Sam’s Video

Splash page experiment Variations: Button:

Media:

1. Sign Up

1. Get Involved Image

2. Learn More

2. Family Image

3. Join Us Now

3. Change Image

4. Sign Up Now

4. Barack’s Video 5. Springfield Video 6. Sam’s Video

Splash page experiment results

Splash page experiment results

Splash page experiment results

Splash page experiment results Email Subscriptions

Volunteers

Amount Raised

Original:

7,120,000

712,000

$143,000,000

+40.6%

+2,880,000

+288,000

+$57,000,000

New:

10,000,000

1,000,000

$200,000,000

Splash page experiment results Email Subscriptions

Volunteers

Amount Raised

Original:

7,120,000

712,000

$143,000,000

+40.6%

+2,880,000

+288,000

+$57,000,000

New:

10,000,000

1,000,000

$200,000,000

Splash page experiment results Email Subscriptions

Volunteers

Amount Raised

Original:

7,120,000

712,000

$143,000,000

+40.6%

+2,880,000

+288,000

+$57,000,000

New:

10,000,000

1,000,000

$200,000,000

Demo!

Old  Architecture Editor

Implementa0on

Tracking

Results

edit.op(mizely.com

cdn.op(mizely.com

op(mizely.appspot.com

www.op(mizely.com

Frontend   (HTML  +  CSS  +  jQuery)

Edgecast  CDN

Pixel  Tracking

Frontend

Increment  pre-­‐ computed  counters

Fetch  pre-­‐computed   counters

Python

Amazon  S3 Code  Genera0on

Google  App  Engine (Datastore,  Task  Queues,  Memcache)

New  Architecture Editor

Implementa0on

Tracking

Results

edit.op(mizely.com

cdn.op(mizely.com

log.op(mizely.com

www.op(mizely.com

Frontend   (HTML  +  CSS  +  jQuery)

Edgecast  CDN

Pixel  Tracking

Frontend

Python

Code  Genera0on

Amazon  S3

Google  App  Engine (Datastore,  Task  Queues,  Memcache)

New  Architecture Editor

Implementa0on

Tracking

Results

edit.op(mizely.com

cdn.op(mizely.com

log.op(mizely.com

www.op(mizely.com

Frontend   (HTML  +  CSS  +  jQuery)

Edgecast  CDN

Pixel  Tracking

Frontend

Python

Code  Genera0on

Amazon  S3

Google  App  Engine (Datastore,  Task  Queues,  Memcache)

Splunk  &  Amazon  EC2   to  the  rescue!

New  Architecture Tracking

Results

log.op(mizely.com

www.op(mizely.com

Pixel  Tracking

Frontend

New  Architecture Tracking

Results

log.op(mizely.com

www.op(mizely.com

Pixel  Tracking

Frontend

Amazon  ELB EC2  Log  Instance 1.Nginx/uWSGI/Python  app   writes  to  one  EBS  volume   (200  GB,  XFS) 2.Splunk  reads  from  volume   and  forwards  to  dedicated   index  server EC2  Log  Instance

...

New  Architecture Tracking

Results

log.op(mizely.com

www.op(mizely.com

Pixel  Tracking

Frontend

Amazon  ELB EC2  Log  Instance 1.Nginx/uWSGI/Python  app   writes  to  one  EBS  volume   (200  GB,  XFS) 2.Splunk  reads  from  volume   and  forwards  to  dedicated   index  server EC2  Log  Instance

...

EC2  Index  Instance 4  EBS  volumes  (each   200  GB  for  800  GB   total)  in  RAID  0  with   XFS

EC2  Index  Instance

...

New  Architecture Tracking

Results

log.op(mizely.com

www.op(mizely.com

Pixel  Tracking

Frontend

Amazon  ELB EC2  Log  Instance 1.Nginx/uWSGI/Python  app   writes  to  one  EBS  volume   (200  GB,  XFS) 2.Splunk  reads  from  volume   and  forwards  to  dedicated   index  server EC2  Log  Instance

...

EC2  Index  Instance 4  EBS  volumes  (each   200  GB  for  800  GB   total)  in  RAID  0  with   XFS

EC2  Index  Instance

...

EC2  Search  Instance Searches  across  all  index   servers  and  aggregates

...

New  Architecture Tracking

Results

log.op(mizely.com

www.op(mizely.com

Pixel  Tracking

Frontend

Amazon  ELB EC2  Log  Instance 1.Nginx/uWSGI/Python  app   writes  to  one  EBS  volume   (200  GB,  XFS) 2.Splunk  reads  from  volume   and  forwards  to  dedicated   index  server EC2  Log  Instance

...

EC2  Index  Instance 4  EBS  volumes  (each   200  GB  for  800  GB   total)  in  RAID  0  with   XFS

EC2  Index  Instance

...

Query   Genera0on

Results   Caching

EC2  Search  Instance Searches  across  all  index   servers  and  aggregates

...

Why  Splunk? 1. Flexible  query  language  for  post-­‐hoc  analysis 2. Horizontally  scalable 3. Everything  is  controllable  via  the  API 4. Runs  on  our  own  instances  on  AWS 5. Great  documenta(on  &  knowledge  base

Best  Prac0ces  &  Recommenda0ons 1. Use  Cloudkick  for  monitoring 2. Use  iTerm  profiles  to  make  logging  into  mulAple   instances  easier 3. Put  anything  user-­‐facing  behind  an  ElasAc  Load   Balancer 4. Create  an  image  (EBS  AMI)  for  each  instance  type  to   make  cloning  &  scaling  easy 5. Use  a  code  repository  (e.g.  GitHub)  to  store  and  track   changes  in  configuraAons

Email me:

Follow me:

[email protected]

@dsiroker

Appendex  #1:  Amazon  EC2  Specs High-­‐CPU  Extra  Large  Instance 7  GB  of  memory 20  EC2  Compute  Units  (8  virtual  cores  with  2.5   EC2  Compute  Units  each) 1690  GB  of  instance  storage 64-­‐bit  placorm I/O  Performance:  High API  name:  c1.xlarge