Single server or a cluster?
Web hosting (I’m talking about virtual hosting, also called shared hosting) can be divided into two main categories – single server or clustered.Using a single server (eg. with the popular CPanel control panel) is a beautifully simple solution while everything is going well, but for a variety of reasons (badly written or exploited scripts, ddos attack, processing incoming spam…) the server can become overloaded. When this happens web pages load slowly or time-out, databases become unavailable, mail may be rejected or lost. How often this occurs, how severe the effects and how long the server takes to recover depend on the quality of the hosting service.
Clustered solutions distribute the work among a cluster of servers, with separate machines handling the job of web server, database server, mail server etc. This makes it much less likely that the whole cluster will become overloaded and for simple static web sites the reliability should be significantly better. But for dynamic web sites that rely on database access to create their pages the story may be different. If the cluster has one database server and it becomes overloaded or starts refusing connections then all database-driven sites across the whole cluster are rendered useless (this is of course many more sites than would be affected by a failure in the single-server scenario). As before, the quality of management is critical.
Finally, with both the single-server and the clustered hosting systems there are factors completely beyond anyone’s control. Although rare it’s not unknown for datacenters to suffer problems – lightning strikes, power failure, cooling failure, cable cuts etc. Or there can be connection problems like bad routes that leave some people unable to connect to sites hosted in a certain location even though the server may be working perfectly.