The Architecture of Wordpress.com

If these notes are incomplete, inaccurate, or misspelled, it's completely my fault and not Matt's.

Presentation by Matt Mullenweg

Architecture?

Scaling.

  • Types of Scaling:
  1. Platform
  2. Business
  3. Community
  4. People
  • over 800,000 splogs deleted
  • stats of WP

Scaling Platform

Matt's Magic Mini-Cluster
  • hard to figure out what people really want

  • scaling is a good problem to have it, if you ever have it

  • 7 boxes about $1500/mo

  • 2 load balancers

  • any cpu

  • 2 gb mem

  • any disk

  • pound + wackamole + Spread

  • 2 databases

  • any cpu

  • 4GB + memory

  • fast disks, RAID

  • master + slave MySQL setup

  • 3 web servers

  • fast cpu

  • 2 gb mem

  • any disks

  • well-configured apache

  • Use HyperDB

  • a database class they developed to handle multiple DBs; load balance the DB at the software level

A Few Rules to Follow
  • Put Everything in Subversion
  • Be Stateless
  • stay away from DB session
  • let every request stand on it's own
  • then it becomes a matter of arithmetic when it comes to scaling
  • Memcached
  • distributed hash table
  • allows you to manage caching well
  • caches things in memory
  • easily put things in a memcache and pull it out, and expire it
  • Just use Wordpress.com
  • http://2007.wordcamp.org/schedule/hyperdb-and-performance

Scaling Community

Scaling Business

  • Upgrades; free is great
  • took an a la carte approach to features
  • didn't work entirely
  • Ads: personally doesn't like ads
  • shows only to random visitors
  • if you use firefox, you'll never see an ad on wordpress.com (because Matt likes Firefox)
  • pissed fewer people off, and click through rates much much higher
  • VIP
  • helps run other's blogs
  • "fox news" unfortunately (ha ha)

Scaling People

  • don't have to micromanage
  • ideally are better at their job then you
Hiring
  • Great People = rich environment + worthwhile problems
  • try to tackle something that's slightly out of your league
  1. Passion for Space
  2. Personality Fit (it's like getting married)
  3. Ability to Learn (Curiosity)
  • no correlation between intelligence and productivity
  • skills you came into a job with are not the skills that you'll need in the future necessarily
  1. Familiarity with Technologies
  • least important
  • don't hire for specific skill sets
  1. Taste
  • if something seems off with them, default answer is "no"

  • if you get any red flags during the hiring process, I would recommend moving on

  • one mediocre person will drain a sea of bright people (they will not "suffer fools")

  • work with a person on a contract basis first

Scaling Brand

In a Name
  • related Proctor and Gamble story

  • decided to name product to "Ivory" (soap)

  • over 100 years

  • have over 20 brands that make over a billion dollars a year

  • recommends "On Writing Well" by Zissner