0

I work in a hospital where the system shuts down when updating. making all orders hanging with no approvals or modifications. considering it's a hospital, this is a huge problem. so, my question is how can we update the system without it shutting down. I'm most interested in rolling updates where there's no down time.

shahadhb
  • 9
  • 2

2 Answers2

1

This is a very broad question, but generally, yes, it is perfectly possible to update a system without shutting down the system.

The simplest possible solution is to have a duplicate system. Let's say you are currently working with System A. When you want to do an update, you update System B. The update can take as long as it needs, since you are not using System B. There will be no impact at all.

Once the update is finished, you can test the hell out of System B to make sure the update didn't break anything. Again, this has no impact on working with the system. Only after you are satisfied that the update didn't break anything, do you switch over to using System B.

This switchover is near instantaneous.

If you discover later that there are problems with the update, you can still switch back to System A which is still running the old version.

For the next update, you again update the system which is currently not in use (in this case System A) and follow all the same steps.

You can do the same if you have a backup system. Update the backup system, then fail over, then update the main system. Just be aware of the fact that while the update is happening, you do not have a backup system. So, if the main system crashes during the update process, you are in trouble. (Thankfully, this is not entirely as bad as it sounds, because it least you will already have a qualified service engineer on the system anyway who can immediately start working on either pushing the update forward to get the backup online or fix the problem with the main system.)

The same applies when you have a redundant system. You can temporarily disable redundancy, then update the disabled system, flip over, do it again. Of course, just like in the last option, you are operating without a safety net while the update process is ongoing.

If your system is a cluster system, it's even easier. If you have enough resources, you can take one machine out of the cluster, update it, then add it back into the cluster again, then do the next machine, and so on. (This is called a "rolling update", and is how companies like Netflix, Google, Amazon, Microsoft, Salesforce, etc. are able to never have any downtime.)

If you don't have enough resources, you can add a machine to the cluster just for the update, and then you are back to the situation that you do have enough resources.

Jörg W Mittag
  • 363,080
  • 75
  • 446
  • 653
  • Thank you so much for your dedication. I'm more interested in the rolling update option, and I have enough resources. can you further explain this option. what are the specific requirements for it and how much time it would take. I will only describe the modification to the IS department so I have to be very clear about the workflow to achieve the results. – shahadhb Mar 01 '20 at 09:36
0

Yes. Every kind of component may be updated rebootlessly. For windows you always can postpone reboots.

Sergei Krivonos
  • 4,217
  • 3
  • 39
  • 54