Load balancing is quite simple, you simple have x number of machines with the same content on them and use a loadbalancer to distribute traffic among them. Basically you set up a virtual IP(and put that in dns as
on the device and tell it which IP's to ditribute the traffic behind it to. So a user hits the virtual IP(VIP) and the load balancer will then redirect them to one of your servers depending on your rules setup on it. It is completly transparent to both the user and the server.
Something to watch out for:
Session state, if you use session state you will have to make sure you keep track of it off the webserver or you will have to use sticky load balancing(where the same IP always gets sent to the same server) there are some drawbacks to sticky sessions that you would have to look into.
I have worked with these for years and the two I like the best are BigIP by F5(
and Cisco CSS switches(formally arrowpoints)
I also work with coyotes and don't really like them, and really don't like the windows load balancing services(or whatever microsoft calls it)
You can't go wrong with either F5 or Cisco, and its really not anymore complicated then making sure you watch out for session state.