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.