2. We are revolutionizing EyeEm
the way we discover
people, topics and • Started in February 2011 in Berlin
locations through the • Launched in August 2011
photos we take. • Cross-platform service:
iOS, Android, WP7, Web
3. Premature Optimization
• Awesome
• The root of all evil (Knuth)
• Borne out of resource limitations
– Speed, Knowledge, Cost
• Unknown unknowns
• 1 Man. 1 Codebase. No Time.
4. Scaling Pains
• Startup growth is annoyingly jumpy
• Scaling Up and then Out
• Some resource is always screaming
• It could always be faster
5. Architectural Evolution
Then Now
• LAMP • LNMP ++
• 1 Machine • Multiple Instances
• 1 Engineer • 3 Engineers
• Limited Caching • Cache Extravaganza
• Only Vertical Scaling • Scaling a la carte
• EBS • S3
6. EyeEm Infrastructure
• Ubuntu, Nginx, PHP, MySQL
• Machines
– Development, Staging
– Frontend, Load Balancing
– Backend, API, Jobs (mailing, etc)
– Imaging
– Database
• Stress tests, Unit tests, Monitoring
• Automated deploys and rollbacks