3 ms·
If deploying new code is stressful, then here are some tips to try... Improve your deploying until you feel it's easy, routine, pipelined, automatic, monitored
by jph 3y ago
If deploying new code is stressful, then here are some tips to try...
Improve your deploying until you feel it's easy, routine, pipelined, automatic, monitored, tested, and post-deploy tracked so it's provably working. Good practical ways to start on this path can include devops, IaC, E2E testing, etc.
Then get good at tactics such as rainbow rollouts, blue-green, canaries, feature flags, dark launch, self-throttling capabilities, and self-healing systems. A simple example is to deploy to 1% of people, and when incoming metrics prove success, then increase the percentage.
Success looks like fearless deployments. Some teamwork ideas to try are group ownership, blameless incident responses, causal analysis based on system theory (CAST), service level agreements with stakeholders, and specific software quality attributes for availability, recoverability, and the like.
- redserk 3y agoIdeally this is where everyone ought to be anyways. In a vacuum, all of these would stop bad deployments in theory. But in practice, no amount of prep can address and prevent every potential way a deployment can go sideways. Plus if you're B2B, your clients are likely mentally checked-out on Friday anyways so they won't even see the new stuff.