3 ms·
Another Googler here. We usually have a 3 steps process. 1st new API interface/service using the new dependency is added and runs in parallel with the existing
by marcyb5st 6y ago
Another Googler here.
We usually have a 3 steps process. 1st new API interface/service using the new dependency is added and runs in parallel with the existing one, 2nd we blast email to users of old one to migrate to the new one, 3rd when usage of the old one hits 0 it is removed. When a team slacks off in migrating (usually we have months between receiving the first notification and service shutdown) things escalate and a director might get involved.
Anyway, this means that migrating to the new interface is clients' responsibility.
However there's an exception: if the changes are trivial (like changing the the name of one of the API endpoints), we have an automated tool that basically performs this change across the whole codebase. These kinds of changes still need to be approved by the codebase owners and shouldn't break any test, so they must be really trivial.
In this case is usually the team owning the API/Service that performs that.
- alisonkisk 6y agoIn practice it's optimized to a 2 step process, since step 3 almost never triggers.