Forum Moderators: phranque
I want to build a highly available (fault tolerant) web server environment. I will be using Microsoft Windows 2003 Server (IIS6).
What approaches are commonly taken to accomplish this?
I'm leaning towards using Windows Load Balancing Service along with Microsoft Application Center. It seems I will need App Center to facilitate with app monitoring, server synchronization, etc. Is there a better way? What approach do you use?
Thanks for any ideas.
The load balancer has built-in NAT (network address translation) so you would assign a single IP to the load balancer, and configure it to forward traffic to your internal IP's based on availability or load. Sessions maintain on the current server unless it goes down, so you can still do server-side sessions and "keep alive". You can configure it so everything always goes to SERVER-A and if SERVER-A goes down, it sends everything to SERVER-B, C, etc. Or you can configure it to "balance" the load across all of them.
Manufacturer: F5
Good Used Vendor: Network Liquidators
[edited by: DaveAtIFG at 6:52 pm (utc) on Mar. 29, 2004]
[edit reason] Removed URLs [/edit]
Are products like the one from F5 also able to monitor the application status extensively?
Either way, that can be scripted you know - you don't have to log on locally and go to IIS Admin / MMC to edit ANYTHING in IIS. You can do it all through ASP scripts. And if your systems are on the same network and have the same/user pass (ie; members of the same domain) you can write ONE script to edit the metabase properties on all servers anyway.
Keeping the content in sync isn't that hard. I wrote a little program in VB that will replicate a directory over to another directory on a different server using \\ipaddress\d$\directory on the target server(s). Then I wrote a script to execute that program, so whenever I update content I do my updates on server-A and go to a password-protected web-page I made that replicates the data over to the other servers.
F5 will continuously poll the availability of the PORTS, but since its external hardware it can't actually monitor the services. It doesn't really matter though, if port 80 is open then WWW Publishing Service is running. if it's not, it will send the user to a different server.
Yes, I have created several helpful scripts that assist me in adjusting the metabase, but in looking at Application Center, it performs these synchronizations for you.
Has anyone played with Application Center?