> - User starts loading old nocache.js, you tell load balancers to
> redirect to the new app, the nocache.js runs and tries to load an old
> permutation from a new server where it doesn't exist.
Right.
> I suppose Stephen's deployment strategy is different
Yeah, slightly.
Currently, if we have two servers running, our deployment script will
start another two (by increasing the AWS auto scaling group size to 4),
which means AWS will immediately add them to the AWS ELB when they boot.
Our script then waits to shut down the old servers until it's verified
both new ones are running/healthy.
So, the window where we could have both running is ~3-5 minutes long.
That said, our new deployment scripts (that we just haven't moved to
yet), start a completely new AWS auto scaling group for the deployment,
let all the new instances start in there (without being added to the
ELB), and then do a mass register/deregister of the machines with the
ELB.
Which will have a much smaller window, but it's still not atomic.
- Stephen