23
Webscale For The Rest of Us You’ve got ninety-nine problems, but needing a highly available distributed key value store ain’t one

Webscale for the rest of us ruby conf 2013

Embed Size (px)

DESCRIPTION

My talk on "webscale" for the rest of us (ie. everyone not running a Twitter, Groupon, or Braintree, etc) as delivered at RubyConf AU 2013 Video of the talk is available at http://vimeo.com/61342269

Citation preview

Page 1: Webscale for the rest of us   ruby conf 2013

Webscale For The Rest of Us

You’ve got ninety-nine problems, but needing a highly available distributed key value store ain’t one

Page 2: Webscale for the rest of us   ruby conf 2013

Hi, I’m @johnbarton

I co-founded this thing right herewhich will show up on nearly every slide

I hear that brand awareness is important

Page 3: Webscale for the rest of us   ruby conf 2013

Webscale For The Rest of Us

TL; DL: Did you see all that awesome shit that Braintree built? Don’t build that.

Page 4: Webscale for the rest of us   ruby conf 2013

Rails is Omakase

Credit: http://www.flickr.com/photos/avlxyz/4759859329/

Page 5: Webscale for the rest of us   ruby conf 2013

A Danish word for “My bat, my ball, my rules...”

Credit: http://www.flickr.com/photos/rooreynolds/243810229/

Page 7: Webscale for the rest of us   ruby conf 2013

Let’s Define Terms

Scaling is doing more of whatever makes you money with some money left over

Page 8: Webscale for the rest of us   ruby conf 2013

The Menu

MVC, Migrations, Asset pipeline, TDD, Coffeescript, Bundler, etc

Page 9: Webscale for the rest of us   ruby conf 2013

The Wine List

2+ Developers, doing “DevOps”on a vanilla rails stack, to 2+ load balanced web servers, in front of

a master/slave SQL setup

Page 10: Webscale for the rest of us   ruby conf 2013

Rails without DevOps makes no sense at all

Page 11: Webscale for the rest of us   ruby conf 2013

1970 1980 1990 2000 2010

Developer Salaries RAM Prices

Source: My overactive imagination (2013)

Page 12: Webscale for the rest of us   ruby conf 2013

Single Responsibility Principle

A class should have one and only one reason to change

Page 13: Webscale for the rest of us   ruby conf 2013

Single Responsibility Principle

A class server should have one and only one reason to change

... or fail, or bottleneck

Page 14: Webscale for the rest of us   ruby conf 2013

Y.A.G.N.I.

Page 15: Webscale for the rest of us   ruby conf 2013

Credit: http://www.themoviedb.org/movie/8195-ronin/backdrops

“Lady, I never walk into a place I don't know how to

walk out of.”

Page 16: Webscale for the rest of us   ruby conf 2013

What about CACHING?

This is the big “it depends”

Page 17: Webscale for the rest of us   ruby conf 2013

MongoDB is the Ed Hardy t-shirt

of DatastoresCredit: http://www.flickr.com/photos/leumund/3800973404/

Page 18: Webscale for the rest of us   ruby conf 2013

Stick with SQL for your datastore

Please Note: I did not say “Postgres Rulez” or “OMFG MySql”

Page 19: Webscale for the rest of us   ruby conf 2013

If you can’t afford two, you can’t afford one

App servers, Database servers, Developers

Page 20: Webscale for the rest of us   ruby conf 2013

There are only three numbers to know

Zero, One, and Many

Page 21: Webscale for the rest of us   ruby conf 2013

#emumarchJohn Allspaw

Head of Ops for Etsy

1 Blog post per week on something opsy

Page 22: Webscale for the rest of us   ruby conf 2013

A Concrete Example

Comparing the two Goodfilms product stacks...assuming I have not rambled too long