"There is a maintenance window on prod where the client understands installations may be occurring. Unless it is a crash-bug, this should be the only time changes are made to prod. Period."
At my workplace each machine on the farm runs two web servers one with the production code and the other with the final QA code. Come release time once a week we switch the network so the final QA web servers become production then update the old production web servers with the next QA version in the pipeline.
No maintenance downtime and the final QA code is checked on the exact same production machines. | [reply] |
Do you also mount /usr/local so that both servers mount from the same physical location? That way, you guarantee that the perl installs are identical ...
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
| [reply] |
No idea! After peer review I just commit my code and submit a ticket to QA with a description of the change. Beyond that it's kinda blurry as Operations don't let you peek over the fence much and I'm no server side guy :)
| [reply] |
I'm just another anonymouse sysadmin, but I wanted to make one comment:
There needs to be a way to back-port the prod environment into test (and possibly even to dev). This way you can recover from situations where the upstream environments have become gunked-up with oddities that just naturally happen during the dev-test-prod cycle.
And this backport from prod to test needs to be either a script, or a full backup/restore cycle, to ensure complete fidelity to prod. | [reply] |