webscale for the rest of us ruby conf 2013

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

Upload: john-barton

Post on 08-May-2015

8.003 views

Category:

Technology


2 download

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

TRANSCRIPT

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