4 ms·
Releases are controlled by each team. For example, my team has multiple binaries that run in production. Some of them are stable and don't receive any active
by kyrra 8y ago
Releases are controlled by each team. For example, my team has multiple binaries that run in production. Some of them are stable and don't receive any active code changes but are pushed every time we do a release. But for those that don't get direct code changes, they will still pickup any changes to shared libraries.
Canaries are live/production traffic only. When a release is deployed, it goes to the canary instances of a job first, and it will take a small subset of traffic. This allows the job owners to see if the new binary has any adverse effects before rolling out more widely. More details about canaries can be found here[0].
Once important thing to think about with Google's source control is that it is closer to SVN as far as versioning goes. There are no (for the most part) feature branches or anything like that. Everyone is always working on HEAD. when you do a release, you will start near HEAD when cutting the release.
[0] https://landing.google.com/sre/sre-book/chapters/testing-reliability/ https://landing.google.com/sre/sre-book/chapters/testing-rel...