scalability boot camp sxsw 2008

32
Scalability Boot Camp SXSW 2008 Jakob Heuser Alan Kasindorf Blaine Cook Sandy Jen Kerry Miller

Upload: jakob-heuser

Post on 05-Dec-2014

6.142 views

Category:

Business


1 download

DESCRIPTION

SXSW Presentation by Jakob Heuser (Gaia Online), Alan Kasindorf (Six Apart), Sandy Jen (Meebo), and Blaine Cook (Twitter). Topics include scaling out using caching, file storage solutions, parallel processing, and database solutions.

TRANSCRIPT

Page 1: Scalability Boot Camp SXSW 2008

ScalabilityBoot Camp

SXSW 2008

Jakob HeuserAlan Kasindorf

Blaine CookSandy Jen

Kerry Miller

Page 2: Scalability Boot Camp SXSW 2008

Briefing

PanelistsKerry Miller - BusinessWeekAlan Kasindorf (aka dormando) - Six ApartJakob Heuser - Gaia OnlineBlaine Cook - TwitterSandy Jen - Meebo

Kerry Miller - BusinessWeek

Page 3: Scalability Boot Camp SXSW 2008

Why Scale

• Good problem

• Doesn’t have to cost

• It’s an “everybody” thing

Kerry Miller - BusinessWeek

Page 4: Scalability Boot Camp SXSW 2008

The Regimen• Problem

• Concepts

• Abstract Solutions

• Google Time

• Conversation

Kerry Miller - BusinessWeek

Page 5: Scalability Boot Camp SXSW 2008

Monitoring

avoid working in the dark

Sandy Jen - Meebo

Page 6: Scalability Boot Camp SXSW 2008

Get it on the radar

• Understand the “pain points”

• Live and die by monitoring

• Monitor EVERYTHING

Sandy Jen - Meebo

Page 7: Scalability Boot Camp SXSW 2008

“Everything”?

• Disk I/O

• Memory

• Bandwidth

• Page Load Times

• The list goes on...

Sandy Jen - Meebo

Page 8: Scalability Boot Camp SXSW 2008

Google Time

• Ganglia

• Hyperic

• sar and sysstat - simple, you already have it

• Know your tool, whatever it is

Sandy Jen - Meebo

Page 9: Scalability Boot Camp SXSW 2008

Content Delivery Network

images, static files, and the like

left out - n/a

Page 10: Scalability Boot Camp SXSW 2008

Friendly fire

Bandwidth Usage During Digg Effect

left out - n/a

Page 11: Scalability Boot Camp SXSW 2008

Down in the trenchesYSlow Output On Retrieving a Page

left out - n/a

Page 12: Scalability Boot Camp SXSW 2008

“Better you than me”

• Put the right content on it

• Do not “bolt it on” later

• Use many subdomains

• Cross domain situations

left out - n/a

Page 13: Scalability Boot Camp SXSW 2008

Google Time (2)

• CDN - wikipedia

• Akamai

• Panther Express

• Coral CDN

left out - n/a

Page 14: Scalability Boot Camp SXSW 2008

File System Solutionsusers like making tons of lolcats

and storing them on your website

Jakob Heuser - Gaia Online

Page 15: Scalability Boot Camp SXSW 2008

Never gonna be a heroDisk IO Graph

Jakob Heuser - Gaia Online

Page 16: Scalability Boot Camp SXSW 2008

Use what you have

• Don’t waste capacity

• Use someone else’s space

• Avoid a single “authority” on a file

Jakob Heuser - Gaia Online

Page 17: Scalability Boot Camp SXSW 2008

Google Time

• DRBD + OCFS

• Amazon S3

• MogileFS (Danga Software)

• lustre

Jakob Heuser - Gaia Online

Page 18: Scalability Boot Camp SXSW 2008

The Database Layeryour most common, but

hardest to solvebottleneck

Alan Kasindorf - Six Apart

Page 19: Scalability Boot Camp SXSW 2008

Enemy diversion

Disk IO CPU Usage

Alan Kasindorf - Six Apart

Page 20: Scalability Boot Camp SXSW 2008

The real problem

Show Processlist Output

Alan Kasindorf - Six Apart

Page 21: Scalability Boot Camp SXSW 2008

Another war zone

• Make “:) SQL” not “:( SQL”

• Horizontal Partitioning

• Caching Layer

Alan Kasindorf - Six Apart

Page 22: Scalability Boot Camp SXSW 2008

Google Time

• Memcache

• HiveDB

• CouchDB / Hypertable

• MySQL Consultant

Alan Kasindorf - Six Apart

Page 23: Scalability Boot Camp SXSW 2008

Parallel Processing

you don’t have to do it all right now

Blaine Cook - Twitter

Page 24: Scalability Boot Camp SXSW 2008

Under siege

Slow Query Log

Blaine Cook - Twitter

Page 25: Scalability Boot Camp SXSW 2008

Smarter, not stronger

• Consistent for current user, not everyone

• Design code for parallel steps

• cronjobs

Blaine Cook - Twitter

Page 26: Scalability Boot Camp SXSW 2008

Google Time

• Starling

• Gearman

• TheSchwartz

Blaine Cook - Twitter

Page 27: Scalability Boot Camp SXSW 2008

Regroup

Jakob Heuser - Gaia Online

Page 28: Scalability Boot Camp SXSW 2008

Regroup

• All these technologies are built to be asynchronous

• An amazing amount of your app can be asynchronous too

Jakob Heuser - Gaia Online

Page 29: Scalability Boot Camp SXSW 2008

ScalabilityBoot Camp

SXSW 2008

Jakob HeuserAlan Kasindorf

Blaine CookSandy Jen

Kerry Miller

http://www.slideshare.net/Jakobo

Page 30: Scalability Boot Camp SXSW 2008

Resources

Monitoringhttp://ganglia.sourceforge.nethttp://www.hyperic.comhttp://www.nagios.orghttp://pagesperso-orange.fr/sebastien.godard/http://www.cacti.net

CDNhttp://en.wikipedia.org/wiki/Content_Delivery_Networkhttp://en.wikipedia.org/wiki/Akamai_Technologies

Page 31: Scalability Boot Camp SXSW 2008

ResourcesFile Systemshttp://www.danga.com/mogilefs/http://www.lustre.orghttp://www.drbd.orghttp://oss.oracle.com/projects/ocfs/

Databasehttp://www.planetmysql.comhttp://datacharmer.blogspot.com/http://www.danga.com/memcached/

Job and Queue Systemshttp://www.danga.com/gearman/http://rubyforge.org/projects/starling/

Page 32: Scalability Boot Camp SXSW 2008

Image Credithttp://www.history.noaa.gov/stories_tales/radar.html (radar)http://www.thatpoliticalblog.com/serendipity/plugin/tag/TPB+Information (bar chart)http://www.digitalearth.com.au/category/general/ (disk on fire)http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=160210671355 (dump truck)http://420.thrashbarg.net/ (marching penguins)