5 ms·
It's a stupid statement internally as well. Unless you can freeze time itself, deploying new versions of stuff isn't instantaneous. And what happens if you need
by crustycoder 2y ago
It's a stupid statement internally as well. Unless you can freeze time itself, deploying new versions of stuff isn't instantaneous. And what happens if you need to do a rollback of a component?
- SR2Z 2y ago> And what happens if you need to do a rollback of a component? You revert the offending commit. That triggers an automatic deploy (or, even more likely, your buggy change gets caught in the canary stage and automatically reverted for you). The Google philosophy is called "live at head" and it has a bunch of advantages, provided your engineers are disciplined enough to follow through.
- troupo 2y agoUntil you run into things like "your partners deploy once every two months" or "the team's deploy is delayed by X due to unforseen changes downstream" or ... Protobuf is built specifically for Google and Google's way of doing things. Not everyone is built like Google.
- lopkeny12ko 2y agoWell, the core problem is that you shouldn't be deploying as infrequently as every 2 months...you should spend engineering energy to fix that rather than on working around it.
- crustycoder 2y agoMust be nice not to have to live in the real world.
- SR2Z 2y agoDeploying every two months is not required to live in the real world.
- crustycoder 2y agoCustomers who expect interface stability for 12+ months is the real world.
- SR2Z 2y agoYou can deploy a service with a stable interface frequently...
- crustycoder 2y agoYep, well said.
- crustycoder 2y agoIf you think that answer makes even the remotest sense then you really don't know what you are talking about.
- SR2Z 2y agoI worked at Google; I'm describing to you exactly how the infrastructure worked. Yes, Google's internal infrastructure is that good. It's easy to get caught up in the "haha cancel products" meme and forget that this company does some serious engineering.
- crustycoder 2y agoWhat Google does with its internal infrastructure is of limited applicability to the majority of people, where interface stability is the prime directive.
- lopkeny12ko 2y agoInterface stability and "living at head" are not mutually exclusive?
- SR2Z 2y agoThey are not. A good interface rarely ever needs to be changed; the point of live at head is that it's impossible to commit a breaking change as long as there's a test depending on the thing you broke.