DEV Community

Discussion on: Explain Required Downtime Like I'm Five

antjanus profile image
Antonin Januska

As opposed to listing those events, I'll explain how so many services require no downtime. I'd say, if you can do it, afford the down time but if you can't and you run a service that people use 24/7, there are ways around having to experience down time.

For example, if you're deploying new code, it's very common to start a temporary instance of your application which your load-balancer can switch to, and after the code deploy, switch back.

Database migrations are a little trickier. I don't know the exact approaches companies use; however, I can imagine having a read-only database that serves read data while another system queues up the write requests.

Even server migrations can be done without downtime by employing the previous method for seamless code deployment. Just switching from one server to the other while both are running.