Download - Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Transcript
Page 1: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

© 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

Building a Cloud Culture at Yelp

Jim Blomo – Engineering Manager, Yelp

November 15, 2013

Page 2: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Why Cloud?

Page 3: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Yelp!

Page 4: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Yelp Data

Page 5: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Why Cloud?

specificity & optimization

generality & abstraction

Page 6: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Make the Trade-Off!

Page 7: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

How Cloud?

Page 8: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Back to the Past

Page 9: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Logging – an aside

{user_id: 5,

request_id: "b1946ac92492d2347c6235b4d2611184",

search_query: "farm to table",

city: "Portland, OR",

results: [17289, 8230452, 825429, 184312,...],

timestamp: 1384469660

}

Page 10: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Hadoop Trade-Offs

Page 11: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Riddle: Success? • How do you know

when your

infrastructure is a

success?

• Starts failing under

heavy load

• "Too many" users

overloading the system

Page 12: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Hadoop Issues

Page 13: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

EMR Solutions • Clusters up for limited

amount of time

• Upgrades handled by

Amazon

• Multiple clusters

means no capacity

coordination S3

Page 14: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Trade-Offs

Page 15: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Trade-Offs

Page 16: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Trade-Offs

Standard configs

Resource consumption tracking

testing

Page 17: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

No Cargo Cults

Page 18: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Standard Configs

Page 19: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

mrjob Configs

# standard

# memory intensive

# cpu intensive

Page 20: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Resource Tracking

python -m mrjob.tools.emr.terminate_idle_job_flows -c mrjob.conf

Page 21: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Testing

--runner emr

mr_canary.py

Page 22: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

mrjob is Open Source

Page 23: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Adoption

Page 24: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Cloud Calculations • 5 days with 10

machines = 1 day

with 50 machines

• (On demand pricing

simplification)

Page 25: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Cost

Page 26: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Cost

Page 27: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Cost Control

Page 28: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Data Availability

• s3mysqldump

Page 29: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Overview

S3 in: s3mysqldump

out: LOAD DATA or rsync in: JSON logs

in: logs & DB dumps out: CSV, JSON, MyISAM

Page 30: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Pitfalls

Page 31: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Leaky Abstractions

Page 32: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Closed Source

bootstrap-actions/configure-hadoop

mapred.reduce.tasks.speculative.execution=false

Page 33: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Data Explosion

Tron

Page 34: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Wanted

Page 35: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Next Up: Services

Page 36: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Cloud Strategy

Target

generality & abstraction

easiest way

Page 37: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Tandem

Page 38: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

We’re Hiring

yelp.com/careers

Page 39: Building a Cloud Culture at Yelp (BDT305) | AWS re:Invent 2013

Please give us your feedback on this

presentation

As a thank you, we will select prize

winners daily for completed surveys!

BDT305 – Cloud @Yelp