High-availability, load-balanced Linux and FreeBSD cloud solutions can be the key to business continuity for modern, Internet-reliant firms.
Usually, such clusters include:
- No single point of failure
- HTTP acceleration and load balancing using HAProxy, Varnish or Nginx
- MySQL or PostgreSQL replication
- Separation of DB read and write operations (reads go to slaves for better performance)
- Failover with keepalived or Cloud-specific solutions like AWS's ELB
- Sessions in memory-mapped disk or in Redis, or sessionless operation
- Shared disks via NFS and/or DRBD/GFS
- SQL tuning
- Web server (Apache, Nginx) tuning
- Operating system tuning (Linux, FreeBSD)
- A monitoring system
- Hardware can be physical (for high-availibility) or virtualized (for load-balancing)
- Infrastructure-as-code for fast provisioning with Ansible or SaltStack
When the cluster is for a specific application (not just general web hosting), then we can also achieve big gains by application specific tuning.