We use Rackspace as our servers provider. We heavily utilize Amazon S3 for securely storing data and its CDN (cloudfront) to distribute content. We also use a number of other services like Stripe to handle payments and Sparkpost to handle transactional emails.
We utilize 2 load-balancers on top of our web server farm and a number of db servers behind them. The load-balancers act also as traffic controllers as they can stop Denial-Of-Service Attacks (they limit traffic per IP). A user request is directed to the web-server with the less load and clients are distributed to different database servers to mitigate the total system load. We use virtual servers with Solid State Disks (SSDs).
Scaling
We closely monitor the system's status and whenever there is a performance bottleneck we can activate/shutdown new web-servers and db-servers on demand.
Contingency plan
All user files are stored on Amazon S3 which is designed for durability of 99.999999999% of objects. All data is redundantly stored across multiple facilities and multiple devices in each facility.
Databases are backed-up daily and stored for a period of 30 days on a separate infrastructure. We also keep full virtual machines for all database servers as a fast way to restore the service in case of a catastrophic failure.
Monitoring
We make use of in-depth monitoring services to ensure that the system is at good status. Whenever a monitor service encounters an error an automate email is dispatched to our technical team for further actions.
Topology
Below you can find a diagram of the system's network topology and architecture.