I am launching my website next month and getting two dedicated servers. One the main server and the second is a backup incase the first goes down as I need 100% uptime. I will be using php/mysql and linux OS with apache webserver. Also adding a CDN for static content. So for the setup, what do i need? I read about load balancing, is this the same thing or is that seperate from keeping 2 servers? Are there any hosting providers that do all this setup for me including the backups, etc so all i have to do it worry about the website?
Load balancing is when you have two active web servers, both serving traffic from the production website, and either a software or a hardware "load balancer" in front of the web server (Apache). It "balances" out the traffic so that each get an equal share - when 1 server gets too busy, it will send traffic to the other one, and vice-versa.
This is NOT the same thing as having a backup server or a hot spare, as you're talking about doing.
My suggestion for keeping the server synchronized is to run "rsync" as a cron job every 24 hours or so for the files (or more often, like 1 hour, if you thing files will be changing a lot in a given day), and doing MySQL database replication over to the "backup" server using MySQL bin logs.
As for hosting providers, I've heard good things about Rackspace services bundled with their dedicated servers. You might want to contact them and see if they can provide this for you.