Any suggestions on what one should think about when scaling a site?
1) How a scalable website is organized in terms of infrastructure (having a database server, having a web server, etc)?
2) Best practices for designing the database for a large website to prevent single-points-of-failure
3) What web services out there allow for easy scaling. I have heard of slicehost, Mosso, EC2, Google App Engine (any others? We use PHP)? Do you have to configure your own load balancer etc for these services?
4) Other useful things to think about when designing a scalable web application.
Thanks all