how do you patch a Windows/IIS production webserver?

Thuleman

Supreme [H]ardness
Joined
Apr 13, 2004
Messages
5,833
So we are about to switch from Centos/Apache to Win2008/IIS and I am a bit troubled by the prospect of patching it.

Under Centos it was easy; I would clone the VM, patch the OS while the server is running, restart services or reboot the machine. If services had to be restarted the downtime would be seconds at the most. If it had to reboot it would be back in seconds, certainly under a minute. That's acceptable downtime for what we do.

With Windows OS patching I am looking at frequent reboots and when it reboots it takes forever to come back up. I just timed the Patch Tuesday updates on the test machine and it took 4 minutes and 57 seconds from when restart was initiated till IIS started serving pages again. That was just a small update from the looks of it.

How do you patch Windows web servers to avoid this downtime?
 
Is it possible to make 2 instances of the server & make it load balanced? This would help with patching & reduce downtime a lot.
 
Most web servers are load balanced. You drain stop one, patch, reboot. Put it back in the load and repeat on the second node.

If 5 minutes of down time is really that important then you web servers should be redundant already.
 
You could also do a monthly maintenance where you install updates and it's down for a few moments while you reboot at 2 am or something.
 
You could also do a monthly maintenance where you install updates and it's down for a few moments while you reboot at 2 am or something.
X2. That's what our office does, as there doesn't seem to be any patches that need to be applied immediately.
 
If 5 minutes of down time is really that important then you web servers should be redundant already.
They are redundant via VMware's vSphere High Availability and Fault Tolerance but that doesn't require me to actively run and maintain two instances of the same server, it just does that internally.

We do patch monthly on all of the OSes unless there's some critical patch that needs to be pushed sooner. I'll check into load balancing but I don't think that the increased complexity of running load balanced servers is worth it in our case. I may just send a memo saying that the downtime due to patching will be approximately 5 mins and be done with it.
 
We put it in our TOS, and put a banner on the webpage an hour before it's scheduled to happen.
 
Some updates can be installed without having to reboot. You could set a group policy to start downloading and installing updates at midnight, then schedule the server to reboot at 2 am. You wouldn't even need to be there.
 
They are redundant via VMware's vSphere High Availability and Fault Tolerance but that doesn't require me to actively run and maintain two instances of the same server, it just does that internally.

You seem to be protected from hardware failures -- if you host dies, it will fail over to another one. But if your OS gets hosed, or you suffer from some software problem, you could be have some unintended downtime.

With that said: if it works the way you are doing it know, that's awesome. However, I never put a mission critical resource on one machine. That leaves you open to a single point of failure. Even the wan sites I host on my Hyper-V cluster (similar configuration to yours, just a different hypervisor) are all on at least two web servers (both being VMs on the high availability cluster). Just some food for thought...
 
On all the systems I deal with where 5-10 mins of downtime is an "issue" (to put it mildly), there are multiple web servers that are behind a load balancer (F5 BigIPs in our cases but take your pick). Single server and perfect uptime to not tend to go together. If 5 mins downtime is ok its typically done early business hours (6 or 7AM) before the work day starts, or in the case of some customers its done on slow days like sundays.
 
I used to do what everybody else is saying. I set WSUS to patch half of the servers at 3AM and half at 4AM on Sunday. SCOM would alert if something didn't come back up by 3:30 or 4:30. I did that for 3 or 4 years without any problems.
 
Back
Top