3
10 Comments

How do you guys handle updates / downtime?

Not a problem I have just yet but looking ahead to the future when I need to do backend updates on my server.

Do you guys just time a quick restart during a weird time and hope no one notices? I'm sure I'll be able to get away with that for a while as my product is primarily something you'll use during office/working hours.

Was also thinking about setting up a parallel server that I run the updated version on for a little bit and then swapping the ports etc.

Open to any type of solution, one of these things where I don't really know the most practical path to start researching !

on October 10, 2019
  1. 2

    Hey @Maddoxjack, have a look into Blue Green Deployment. The concrete implementation depends on your stack, but the concept is pretty well explained in this short article by Martin Fowler: https://martinfowler.com/bliki/BlueGreenDeployment.html

    1. 1

      That's exactly the kind of concept I was thinking about. Thank you.

  2. 2

    I use Heroku and just promote changes from my staging server when everything is ready. I'm about to launch a large update that will require some downtime. Since my customers are all over the place there isn't really a specific time where no one is using the app. I just sent them an e-mail saying there would be downtime, told them when and for how long. I think it's somewhat expected to happen occasionally.

    1. 1

      Thanks for the response. I think it seems very reasonable. I'm just coming from a big tech firm where they used to go into meltdown for any moment of loss and trying to gauge the real world again.

  3. 1

    You really should specify your tech stack and what you are using for hosting. It also depends on your architecture. But I think with modern apps very low down times can easily achieved. 1 min max if no database related actions are performed, but this also can be minimized. Long story short: tell us more

    1. 1

      Hey mate! Wasn't looking for someone to tell me an answer specifically. I want to learn what you guys are doing too! I have a react front end, node backend, postgres db running on an ubuntu box with digital ocean. For now it'll probably just be git pulling updates as it's not a major application yet. I really like the green/blue server idea @digitalbreed mentioned.

      1. 1

        That’s really something to consider!

  4. 1

    Can you tell us a bit about your tech setup? When we migrate our backend we have a downtime of about ~1min. This is currently acceptable for us because we do not have to deal with many users, yet.

    However, if on some glory day we have so many users that we need several backends and load balancing, I would just hot reload the backends, meaning take one down and exchange it, then the other one and so one, so that you basically have zero downtime.

    Best wishes

    1. 2

      That sounds like the path I'm walking. I have a react front end, node backend, postgres db running on an ubuntu box with digital ocean. I'll be able to get away with a momentary downtime but I switching backends will probably be in the future. Have you looked at anything for that or just planning on doing it manually?

      1. 2

        Honestly, this is far in the future for us, so we haven't thought about these problems :)
        I think I would start manually and as soon as I get annoyed because of frequent deployments I would automate this :)