Thursday, March 27, 2008

Anatomy of a DCS Release

I've been doing these DCS software releases for a while. Now that I have a blog, I thought it might be interesting for people to know what I mean when I say I'm doing 'a release'.

Thursday, March 27th 2008:
9am - 6pm : Finish cleaning up a few last minute issues. Phone conference to make sure we are 'go for launch'. We are. Do the final builds on the development and beta machines, and pull down the beta code which will be moved to the production server. Dump all data from development to be moved to production. Drop everything up on the production server. Just another day in the life...

6pm - 8pm : It's Ruby's late night at school, so it's my night to make dinner. First, clean the dishes. Check the supplies and we don't have any pizza stuff, so I take a walk down to Market Basket and get the necessary goods. No time for Kung Fu class tonight. Make pizza. Do a load of Laundry. Gotta love a productive evening anyway.

8pm - 9pm : An hour to kill before the release really starts. Go outside and run through Tai Chi and Kung Fu forms a few times. Watch a half hour of Ashton Kutcher's new show. Not impressed. Make cup of coffee #1 for the night.

9pm : The release really begins. Users are still on production server. Disable logins so no more go on. Do backup of Demo server. Do code import on Demo, update Demo website, then run database conversion code. Done in no time at all. Demo's done, beta's done, dev's done. Only production remains.

9:45pm : Everyone's off of production. Do a backup of production and stop the website. Backup completes by 10:00. Estimated Bed Time: ~12:00. Overly optimistic? Probably.

10pm : Break out the new code for production and begin the import. This is the longest part of the night. Update the production websites and play a game of Backgammon on the Nabisco SnackWells website. Backgammon is MY new game. I house the computer player, obviously.

11pm : Notice in the production import log that the integrity checks found some errors. Nothing to worry about, I've seen errors in there before and the system always cleans them up. Play around with some AJAX stuff in my ongoing project. Killing time.

12am : What the hell? The pre-import integrity check is still running? How can that be? Oh god, after the system cleaned up the errors it ran the integrity check again. It's going to be a long night.... Make cup of coffee #2. Estimated Bed Time: ~1:30. It's possible.

2am : Import is almost done.... c'mon baby. Two more games of backgammon down. 1 went to Nabisco, the other to me.

2:20am : And the import is done! Wow, that must have been the longest to date. Now to take care of survey setup and other configuration business.

3:40am : Finally wrapping it all up. Basically took about an hour to do all the remaining setup after the import was done. Probably could have taken about half the time but I'm tired. Better luck next time!

No comments: