0

We have a website sitting on a single webserver and we need to upgrade .net and MVC so will require a reboot. What is the best way to handle the 5 minutes or so of downtime?

I'm thinking we could reduce the TTL on the domain to, say, 1 second. Change the DNS to point to another server showing an 'under maintenance' type page. Then reboot then point the DNS back at it.

Is this the general preferred method? We don't have any load balancing to swith it somewhere else or anything.

IanS
  • 315
  • 3
  • 12

2 Answers2

1

First off as @David Jashi said, do it at night. but more specifically do it at a non-peak time.

Will you have any roll-back in place just in case it does not come back up?

You could use the second server as a carbon copy then do the upgrade on the non-live server, test it and then swap the DNS records, this will provide no down-time what so ever.

Bloafer
  • 1,324
  • 7
  • 12
  • This sounds good. We don't have any roll back procedure in place but it's something we should do. We do have a dev server we could switch to but my concern is the database on that being a bit out of date so recent forum posts and new registrations etc would be missing. Also recent user uploads (images etc) wouldn't be there – IanS Jun 05 '13 at 10:17
  • There are may ways of doing this. I would also suggest having the DB server separate to the front-end allowing you to swap front-end servers without a hitch, however that may be outside of the scope. Get the .net, MVC and web application onto the dev server pointing at the database on the live server, once your happy with it working there you can then have some sort of front end redundancy. I assume the dev server and the live server are the same spec. I would then get the database copied across or clustered to the dev machine, then you will have a bit of database redundancy. – Bloafer Jun 05 '13 at 10:28
  • Also if the images/uploads are critical to the front end I would suggest putting them on to a CDN of some sort. – Bloafer Jun 05 '13 at 10:28
  • The DB server is separate so, yes, we could point the dev server at it. That sounds ideal :) The images/uploads are critical but I'll look at separating them out, perhaps to a CDN – IanS Jun 05 '13 at 10:48
  • If that is the case with the DB server then it should be fairly simple. get the dev machine looking like a live server point the dev server to the db server then change the DNS wait for the propagation to happen then you can perform the updates on the live server, I assume you are using MS for the the servers which should make life easier for the images as well, try looking into DFS and getting the dev server to use a DFS folder to upload files to which should point to the live server. This will prevent any downtime what so ever. – Bloafer Jun 05 '13 at 10:56
0

That sounds about right. You should do it during offpeak hours for your domain, just in case you have unexpected trouble making the switch. Also be prepared for the unexpected when rebooting the server. This is the only time we see startup problems in software (obviously) and some hardware problems only show themselves during startup as well. Probably won't happen, but better safe then sorry.

I prefer to swap to another server , even if it's only an older, slower model. Usually it's set up beside the main server and the forwarding on the router changed to it. This way the site remains up the entire time.

vdbuilder
  • 12,254
  • 2
  • 25
  • 29