May 13, 2015
A Self Introduction
Been involved with technology since 1981
Led development of GoldMine for 4 years
CTO of Famundo, LLC
Contributed libraries and educational materials as open source
Currently CTO for Morph Labs, Inc.
The Need to Scale
Future is Uncertain
Save Money and Effort
Optimize Risk/Expenditure
Time is Short
What can we scale?
Web Servers
Application Servers
Static Files
Storage
Databases
What technologies should you use?
Simple to start with
Able to grow
Easy to replace
Know what you are doing
Specific Technologies
CachingRails caching, memcached
Load balancing HAProxy, Pound, nginx
DB Clustering PgPool II, MySQL Proxy, Oracle cluster, Slony
Specific Technologies
Distributed Storage S3, Nirvanix
Computing EC2, GoGrid, AppEngine, Morph AppSpace/AppCloud
CDNAkamai, CoralCDN,Amazon CDN (coming soon)
How do you plan scaling?
No “one size-fits-all” solution - depends on the specific application
Check, measure, test and repeat
Start from real bottlenecks - not from assumptions
Choose the path of least resistance!
Easy vs. ComplexDo you know what’s easy?
Better code and caching covers 90% of scaling needs!
Web servers
Application servers
Messaging
Storage
Database
Don’t overdo itDo you really need the “it”?
20 machine DB cluster?
CDN for 10,000 pages a day?
Mirrored Messaging servers?
?
Future Proofing?
Can you estimate your future needs now?
Do you have time to test and analyze all scenarios?
Proven technology
Embrace Change
Repeatability - Testing
Case Study: Tracks @ Morph
Open source app that implements GTD
Originally stand-alone, now its a multi-tenant SaaS app (c/o Morph)
iPhone Mobile Safari compatible
Thousand of users since we launched it (mid 2008)
Q & A
Resourcesmemcached
Pound
HAProxy
nginx
PostgreSQL Clustering
MySQL Clustering
Oracle Clustering
S3/EC2/CDN
Nirvanix
GoGrid
Google AppEngine
Morph Labs
Akamai:
CoralCDN:
http://www.danga.com/memcached
http://www.apsis.ch/pound
http://haproxy.1wt.eu
http://nginx.net
http://www.postgresql.org
http://www.mysql.com/cluster
http://www.oracle.com
http://aws.amazon.com
http://www.nirvanix.com
http://www.gogrid.com
http://appengine.google.com
http://www.mor.ph
http://www.akamai.com
http://coralcdn.org