Here is basically what one of our big financial clients [1] does twice per year:
Integration, or sytem testing had taken place over the previous 1-2 month period.
They have 2 large datacenters, let's call one "production" and the other one "disaster recovery" (abbreviated "DR"). Between these and the internet are some large routers (the Cisco ones that cost about what a house costs). At the beginning of "migration" the routers are switched to point from production to DR, so that all internet traffic points to DR.
At this time, the servers are being updated with the new code. This can take some time, especially if large databases need to be restored as part of the migration, or if the update scripts take a long time. There are a lot of servers involved, a ballpark is about 100 servers: some Sun, some WinTel, some IBM mainframes. Some mirrored, some clustered, some all by their little old lonesome. Some applications are Java, some .NET, and some Cobol[2].
Approximate timeline [3]:
People start dialing into the main conference call about 5:30PM eastern [4].
Switch to DR about 6pm eastern.
Code in production is migrated/installed, servers rebooted if necessary. Done about 9-11pm eastern.
Testing [5] starts and continues until about 3AM.
GO/NO-GO decision is made sometime between 3 and 4AM[6].
Rollback if necessary.
Switch routers to point to production at 6AM.
Preliminary postmortem report generally done by 2PM.
If no rollback, then repeat the following evening for DR.
Notes:
1 - They're a Fortune 100 company, I'm not telling who they are.
2 - That I'm aware of. It would not surprise me at all that there are a number of other "brands" of servers or programming languages involved.
3 - The actual timeline is usually a spreadsheet that's at a minimum, 50 pages long, plus about 10 more pages of first, second and third contacts in case something bursts into flames.
4 - It is common to have 100+ people monitoring the main conference line, and 1-2 dozen other conference lines used for individual components/products. One has to be awake and alert in case you're "called out" on the conference line.
5 - In general, because the main URL/URI/Hostnames are now pointing to DR, hosts files are changed so that configuration files don't get edited.
6 - Sometimes the decision gets delayed until almost 6AM if there are some problems.