Zero-Downtime Deployment

Putting a new version of a system live while customers keep using it, with a quick way back to the old version if something goes wrong.

Also known as no-downtime release live update blue-green deployment

Definition

Zero-downtime deployment means putting a new version of your system live while people carry on using it. No sign on the door. No message saying the service is closed for maintenance this evening. The shop keeps selling and the clinic keeps booking while the update happens underneath.

The old way was to pick a quiet hour, switch everything off, copy the new files up and hope. If something broke at eleven at night, somebody was awake fixing it. For a small internal tool that is still fine. For anything a customer touches it costs real orders, and a fair amount of patience you will not get back.

The modern way is simpler than it sounds. A second copy of the system is started with the new version on it. Users are then moved across to it a few at a time, while the old copy keeps running. If the new one behaves, everybody is on it within minutes. If it does not, everyone goes back to the old copy and almost nobody notices. That last step is the whole point, and it is the one to insist on.

Releasing to a few people first has another benefit. Give the new version to five of your own staff before you give it to five thousand customers. They will find the awkward screen within the hour. Linkysoft normally releases to the client's own team for a day, then to everyone, because a real user finds things no test finds.

Three things belong in the support agreement, in writing. That updates go out without closing the service. How fast the supplier can put the previous version back, say fifteen minutes, and who makes that call. And what happens to the database, because a change to the way data is stored is the part that cannot always be undone in a hurry. A supplier who answers those three clearly has done this before. Linkysoft builds the way back into every web application project it takes on, so an update can be taken away without rebuilding anything, and it is why Hostrena keeps a second copy of a site ready rather than one. The second copy costs a little. A closed evening costs more.

Questions about Zero-Downtime Deployment

Does this mean an update can never go wrong?
No. It means a bad update can be taken away quickly. Customers spend seconds with the problem instead of a whole evening, and nobody has to close the service to fix it.
How fast should a supplier be able to bring back the old version?
Ask for a number in the contract. Fifteen minutes is a reasonable answer for a normal business system, and the person allowed to make that decision should be named too.
Can any website or system be updated this way?
Most can. The hard part is usually the database, because changing the way information is stored is not always easy to undo. A careful supplier makes those changes in small steps that suit both versions at once.
Does it cost more to update this way?
A little. You pay for a second copy of the server while the new version goes out. That is usually far cheaper than one closed evening or one failed update on a busy day.

Still not sure how this applies to your project?

Tell us what you are building and we will answer in plain language.