I'm running a website that gets ~1500 visitors a day. It's not a ton, but I want to make sure this site stays up nevertheless. Currently, we're hosted on a shared hosting provider and the site has gone down once or twice due to DDoS attacks.
What are my options for making sure the site stays up? We're willing to pay extra for more servers or load-balancing solutions, but we don't have a huge budget.
It's your typical LAMP setup.
Duplicating the code to multiple servers is easy, but I'm more concerned about database replication -- I've never dealt with that and nor have the people I've talked to. Is it really that hard to set up?
Also, how do I distribute the traffic? Should I funnel everyone through a balancer that pings each of the servers to make sure they're alive before forwarding them? I imagine this adds a bit of latency and also still gives us a single point of failure.
OTOH, we could use a DNS-based solution, but that also has naysayers.