Have you outgrown your Dedicated Server? Are you tired of downtime and performance issues? If so, then load balancing and clustering might be for you.
There's no easier way to protect against downtime and slowness than by clustering and segmented web roles. Configuring your web servers, database servers, caching servers, and load balancers in "best-practice" N+1 configurations means that no single failure can ever disrupt the flow of traffic to your web visitors.
Clustering can give you serious database redundancy, as you can lose one of your MySQL Proxy servers, or one or two of your database servers, and still be able to service query loads from webservers. For even more protection, many of our clients ask us to help them implement database logging. This allows you to easily roll back erroneous database queries upon request, e.g. “oops, I erased 126 rows in my table!”
There is absolutely nothing good about a ‘long uptime’ on a production webserver if it means that kernel updates, OS updates, and service updates aren't being applied. But since your Load Balancer pair can dynamically adjust traffic depending on backend webserver availability, keeping up to date no longer necessitates costly downtimes during system or service restarts.
Webservers, although booting from local disks, do not store any persistent data. All website data is mounted from an NFS mount, and is common between webservers. Due to the simple and clean nature of this setup, it’s possible to add or remove webservers by simply installing additional servers, adjusting NFS & Database ACL’s, and bringing the webservers’ configuration files over.
Clustered solutions are built for performance from the ground up. It's not enough anymore to just have fast hardware. Serving thousands of concurrent transactions per second is not easy. To be able to consistently guarantee fast page loads even under massive traffic spikes, server clustering is not just recommended, it's required.