Large websites like Google need to make sure that it's services are always available. At the same time Google frequently upgrades it's server side code. And users won't even notice this, they can just use Google as usual.
For now, when I need to change my server side code(php ,python or cgi scripts etc), I will shutdown the server, replace the previous version code, and restart the server. This way is not perfect, users will have to wait for server minutes.
How can I upgrade my server side code quietly without disturbing users?