Confoo.ca 2010 : Scalable Web Applications for the Cloud
Hardest part to scale is database
memcache to data that we don’t care to loose.
Amazon ELB for load balancing
Avec le cloud, avoir plusieur petite machine est plus aantageux qu’à linterne (grosse machine pour entailisé le rack) donc très redondant.
Database probleme
if database fots on memory, don’t worry
EC2
Should be on EBS :
Scal and snapshot
split database
document-base database
schemaless
fast
replicaiton
failover
auto-sharding
Cluster for no single point of failure whe hard to load balance.
When to scale out (more machine) :
- Each instance are identical
- Redundacy
- fast and easy scaling
- Instance is « irrelevant »
When to scale up (bigger machine)
- Multiple instance are hard to manage
- CPU or memory intensive application
- scaling out become unpratical
- scaling out is souet cher
api pourscaller : si choke, scale, si entre x heur et x heure le traffic augmente, on scale
Things I learn
Cloud instance are disposable, architechture for that
Pre-optimizing is useless (launch and see where its choke)
Be aware of your bottleneck
Architect for flxibility
Deployed different part on different servers
Secure your important data
Thing I learn on EC2
Verry reliable
When shit it’s the fan, your on your own
Create images
Automate as much as you can
Autoscaling is easy, but rarely needed
IO is consistent and mostly sucks
Slowinsh (Rackspace Cloud is much faster)
Larger instance ar too expensive.