scaling aws with scalr
TRANSCRIPT
Recommendation of a Strategy
Tales of a Bootstrapped Startup
Onista, Inc
What is Onista?
Real-time price negotiation
Qualified sales leads and zero upfront cost
Leverage power of social network
Amalgam of eBay, LendingTree, Priceline, Alibaba and LinkedIn
The Beginning
Custom PHP development
Huge Product Requirements Document (PRD)
Wire frames
Outsourced development
Classic Pitfalls
Wire frames used as templates
No Architecture
No Logging
No Monitoring support
No Alerting support
No Reporting support
No Database Abstraction Layer
SQL embedded in the code
There's Gotta be a Better Way!
Discover MVCSmarty templating engine
Refactor application logic
Refactor business logic
Retrofit with Logging, Reporting and Alerting
Optimize the database
Improve security
The Birth
DatabaseWebserverAppserverData
Problem
Not Scalable
Will roll over and die
Can't cope with spikes
Enter the Cloud
Discover AWS
S3
EC2
SimplePay
AWS Promise
Infinitely Scalable Instances
Infinitely Large Storage
Stop thinking about capacity
Is it really?
AWS Reality
Infinitely Scalable Instancesstart unlimited instances
Infinitely Large Storagecode architecture needs to change
Stop worrying about capacitystart worrying about manual labor
Throw your default assumptions awayNo persistent file system
What is Scaling?
The ability of a web system to respond to unexpected load without a denial of service
Two KindsManual Scaling
Auto Scaling
Scalr
Auto-Scaling
Self-Curing
Configuring
Monitoring
Open Source !
Free as in beer!
Scalr
http://scalr.googlecode.com/files/network_diagram_smaller.gif
How does it work?
http://scalr.googlecode.com/files/processes.png
Trails with Scalr
DocumentationGreat User Guide
No Admin/Install guide :(
Trial and Error
Needs experience with DNS server setup
Setup MySQL Master/Slave
Test different scenarios
Moment of Truth
Self host ScalrOne instance for itself
DNS Server
Use Scalr.net
Use CloudInCode
Recommended Setup
CloudInCode
Onista Setup
CloudInCode
Onista
Summary
Scaling is hardScalr makes it easy
Don't manage Scalr yourselfUse CloudInCode
Software architecture is the important
Q &A