Skip to content
DevOps · · 6 min read

Zero-downtime deployments: a practical checklist

Releasing new versions without taking your service offline is less about tools and more about a few simple habits. Here is the checklist we use.

By the LogicArray engineering team

For many businesses, releasing a new version still means a maintenance window, a nervous evening and a message to customers. It does not have to. Most of what makes a release safe is a handful of habits you can adopt step by step.

1. Automate the build and the tests

Every change should be built and tested the same way, every time, by a pipeline — not by someone’s laptop. If the tests fail, nothing is released.

2. Keep the previous version ready

Run the new version next to the old one and switch traffic over only when it is healthy. If something goes wrong, switching back should take one click, not an evening.

3. Make database changes backwards-compatible

Most failed releases are really failed database changes. Add new columns before using them, and remove old ones only after no running version needs them.

  • Add first, remove later
  • Never rename in one step
  • Test the change on a copy of real data

4. Check health before sending traffic

Each service should answer a simple “am I healthy?” check. Traffic only moves to new instances that pass it.

5. Watch the first minutes

Error rates and response times right after a release tell you more than any test. Set alerts so a bad release is rolled back before customers notice.

Need help with this?Cloud & DevOpsSet up, automated and looked after — so your releases are boring and your servers stay up.Learn more

More insights

LET’S TALK

Have a project in mind?

Software, DevOps or cloud — tell us what you need. An engineer, not a salesperson, will get back to you.