Seriously?
How is it that large companies still fail at the concept of upgrading a web-facing product? Just take down one machine in a cluster, upgrade it, put it in a new cluster, repeat with next server until you are complete. Its not rocket surgery.
I still see 'under maintenance' web pages on large web sites.