We've focused more on reliability through the last couple of years than ever before at @zendesk. I've just shared the 8 principles that have helped guide us internally
https://t.co/WTqwW0R8tA
@glenathan@beanieboi@yann_ck@t_crayford@nicolefv In my experience, going to smaller but more numerous services comes with its own problems. specifically, figuring out whether stuff works correctly gets an order of magnitude more difficult. Deployment complexity is a function of organization size and amount of functionality.
@marcdel@beanieboi@yann_ck@t_crayford I agree, and we use this heavily. Some stuff can’t use feature flags though, like library upgrades. Inherently risky.
@glenathan@beanieboi@yann_ck@t_crayford That’s quite a blanket statement 😉 with hundreds of thousands of customers, the opportunity cost is pretty big. And there’s stuff that just takes time. We have ten or so production environments spread over the globe.
@glenathan@beanieboi@yann_ck@t_crayford That’s great in theory, but not always achievable or the best use of resources for large orgs with older code bases.
@beanieboi@yann_ck@t_crayford What happens when a bad change gets deployed to production but other changes get enqueued before that’s detected? Dev env doesn’t catch everything.
@beanieboi@yann_ck@t_crayford … the “enqueueing” of changes to deploy. Merging to e.g. `production` is basically just enqueuing a deploy+merge to master – and you need automated rebasing to get rid of tainted deploys from the queue.
@beanieboi@yann_ck@t_crayford I think most orgs use deploy from master, which they also use for development. Also: do you have a separate merge from production to master? That _would_ solve most of the problem, but it’s also just what I’m describing – managing the merges to the dev branch separately from…
@beanieboi@yann_ck@t_crayford But even then, you now have all the merges in between plus the fix as a single deployable unit - you can’t rebase, because the main branch is also used for dev. With 40+ devs working on a sprawling and old code base, this happens a lot.