The system was designed, based on the sponsoring users claims, to handle 500-600 million records per day.Today was deployment-day. Did we take time to set up a production environment? Well, they bought the servers and installed the OS. Cron-jobs? Who needs them. Did we take the time to test the DB's to make sure they were configured correctly? Nah, not necessary. Did we freeze a month ago, with only code changes resulting from testing? No. Was testing done? No. Was there even a test-plan? No.
The sponsoring users kept demanding logic changes as they figured out how the system was supposed to behave. Right up to 4PM this afternoon (5PM was go-live). Hell, there was even time today to add new connectivity to a new external data feed. It's not like we need to test those sorts of things or anything.
We wound up with a non-functioning ill-configured production environment where we simply couldn't fire up the application because the DB indices were AFU, and it was processing at the mind boggling speed of 1 record per second (apparently replicating the configs from the dev DB was not a viable option, don't ask me why). As such, the decision was made by our users to run everything from the dev DB (which was fairly zippy). The prod data would be copied to dev, and we'd just run the processes manually. Um, wait a minute. 500-600MM records into the very modest dev DB? Trash all the scratch tables. Trash all the test DB's. Hell, trash everything. It's not like developers need a place to work or test their code. Make all the room you can for that data.
No comments:
Post a Comment