News for hackers. Stuff that matters.
Re:How release canaries can save your bacon by retreatguru on Monday April 03, 2017 @09:28PM (#14028813)
What are the best practices redarding rollbacks when the database is affected. I would think a large amount of overhead would be required.
Re:How release canaries can save your bacon by was_boring on Monday April 03, 2017 @11:31PM (#14029277)
At my job the DB is backwards compatible by one release. This means we roll back code, not data. It takes a little longer to do something like delete a column, but it's worth it.

Rainforest QA had a blog post on strategies a while ago.

Re:How release canaries can save your bacon by londons_explore on Tuesday April 04, 2017 @06:08AM (#14031024)
Simply testing that you maintain backwards compatibility is a royal pain though.

One could imagine a test rig which created a db with test users in it, then ran v1 of the software, then v2, then v1 again, and checked v1 didn't crash on the now mutated datastructures.

Most datastore mutations might only happen on certain user actions and inputs, so making sure you get full coverage would be rather tricky.

Re:How release canaries can save your bacon by ademarre on Monday April 03, 2017 @09:33PM (#14028839)
They touched on this in their SRE post last week: https://cloudplatform.googleblog.com/2017/03/reliable-releas...
Re:How release canaries can save your bacon by ams6110 on Monday April 03, 2017 @09:53PM (#14028926)
From that link: At Google, our philosophy is that “rollbacks are normal.” When an error is found or reasonably suspected in a new release, the releasing team rolls back first and investigates the problem second.

I like that -- reminds me of aviation, where a go-around is normal. If your approach to landing isn't stabilized, you're too high, too low, too fast, too slow, etc. don't try to save it. Go around and try again.

Re:How release canaries can save your bacon by londons_explore on Tuesday April 04, 2017 @06:12AM (#14031042)
At our place, we rollback every few weeks just to test the system, even if nothing appears abnormal.

Next we plan to automate the process - 1 in 10 rollouts will actually be a rollout, a rollback, and another rollout, checking system health at each step.

Re:How release canaries can save your bacon by hectormalot on Tuesday April 04, 2017 @07:20AM (#14031411)
I just wanted to suggest this. Similar to 'chaos monkey' killing my processes once every few days, developers would also look differently at rollback procedures if I guaranteed that one in 10 would be rolled back randomly.
Re:How release canaries can save your bacon by retreatguru on Monday April 03, 2017 @09:51PM (#14028917)
Thanks. Basically they do a db change inbetween rollouts with no feature yet. Clever.