We have been successfully using Octopus for around a year to deploy a Wep App package to a single (IIS) App Server.
Doing this involves a down time for the users which although short, we’d like to eliminate.
To this end, we’re considering having 2 App servers, and using Octopus Rolling Steps to deploy the Web App to one server at a time.
The bit we’re not clear about is this: what steps do we need to perform on each App Server prior to deploying the Web App package, in order that no existing user sessions are interrupted?
Thanks for getting in touch. Generally you would do something like this via a load balancer. So your load balancer would be sending traffic to both of your servers, your upgrade would look something like:
- Tell the load balancer to drain connections from the server we are upgrading. Generally you can tell the load balancer to keep serving existing connections to that machine and wait for a certain time.
- Upgrade the server
- Place it back into the load balancer.
Then move onto the other server.
We have community-provided steps to control F5 and NetScaler load balancers. Or you might need to get your hands dirty with some PowerShell to control your particular load balancer.
You can do a pretty good simulation of this on a single machine and we have some guidance on that here.
I hope that helps.
Sorry for the delay getting back, been on a short break.
Thanks very much for your response, I’ll look further into those Community steps to see if it affects our choice of load balancer.
I’ve already started reading that other feature you linked to, so I’ll use that to help us make a decision which route we go down.