Professional Documents
Culture Documents
com
Lessons Learned From Rapid Growth
Gavin M. Roy
Chief Technology Officer
myYearbook.com
Surge 2010
About myYearbook.com
• Founded in 2005
• 99% Uptime
myYearbook.com Friend Discovery
Q1 2007
• 1 PostgreSQL server
• 2 Data centers
• 35 PostgreSQL Servers
• Cherokee • RabbitMQ
• Lighttpd • Tornado
1. Prototype
2. Launch
• Steps 1 & 2
• Limited Budget
• Steps 3 & 4
• Increased Budget
• 238 Categories
• 5,558 Items
• 1 to ~25 Datapoints
Gathering Analytics
• Staplr
• Posuta
• Nagios
• Cacti
• Traffic
• Hardware
• Get 2
General DB Scaling
• Scale Up
• Scale Out
• Sharding
• Service Specific
PostgreSQL Scaling
• Connection pooling
• Read-only nodes
• PostgreSQL 9.0
Table Partitioning
• Statistics
• Index utilization
• Lock data
“Anything that can possibly go wrong, does.”
- Jack Sack
Recovering from Server Failures
• Web server
• Storage
• Operating System
Data Caching
• Databases
• Filesystem IO
• Tiered approach:
• In Application Execution
• TCP vs UDP
• Binary vs Ascii
• Client Implementation
• Inconsistent Hashing
Strategies
• Monitor Utilization
Appliances
• Replication
• Fancy UIs
Balance in Development Practices
Few web developers start by planning for scale.
Deep thinking?
• First to market
• Engage users
• Why SOA?
• Loosely-Coupled architecture
• Selective Maintenance
• Throttle activity
• Targeted workloads
• Image uploads
• Email spooling
Storage
User Generated Content
• Shared Storage
• Isilion IQ Series
• NFS
Database Servers
• Cost Effective
• Expensive
Managing Vendors
Not All Vendors Are Equal
• Communication is key
• Extra effort on your part should yield extra effort on their part
Focus on Team Not Just Tech
Questions?
Follow me on twitter: @Crad
Blog: http://gavinroy.com