High reliability web server - cluster, redundancy, etc

Hi. I am IT manager/developer for a small organization. I have been doing as-needed linux server administration for several years and am by no means an expert. I've built several of my own servers, and our org is currently using hosting services for our servers and I am relatively happy.

We recently had an outage at the host, and management has made clear that this is unacceptable. Our host is one of the larger ones, a publicly traded company, and their techs are onsite and knowledgeable. The outage was a problem with the pipe between the hosting company and the backbone to the internet, caused by the hosting company's pipe provider. It lasted about 25 minutes. Just FYI.

So the conversation about redundancy and clusters has begun. I have never done this before. My hosting company offers a cluster plan that would be easy to implement (CPanel based) but that won't solve the problem of a pipe outage. We are thinking of clustered web servers (apache, php) and clustered databases (mysql) in different locations geographically. Wha are the considerations involved? Rough idea of costs, risks that remain, etc.

Any direction would be really appreciated.

you should invite a ha consultant to help you...

Thank you, that may happen, but I want to understand the overall issues first.

Keep in mind that clustering does not mean high availability. CLustering is sharing resources with multiple machines. What you need to look into is syncing and failover mechanisms so that 2 web servers at different locations are mirrored copies so that if one goes down, dns is routed to the other server.

I am kind of down this route myself and learning as I go. Be nice to utilize an HA consultant as trial and error can be costly.