Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Thrashing is why


Sorry what do you mean by 'thrashing' in this context?


Reload causes skew causes reload


How does reload cause skew? Reload will just load the latest version of the webapp. That's the point.


If you force a reload before the rollout is complete, the user will still experience skew, because you haven't finished the rollout. The website will be completely unusable for a significant fraction of users. You might as well turn off the website during the rollout. This is the main concern of skew - how to keep the website usable at all times for all users across versions.

If your rollout times are very short then skew is not a big concern for you, because it will impact very few users. If it lasts hours, then you have to solve it.

After the rollout is complete, then reload is fine. It's a bit user hostile but they will reload into a usable state.


Stickiness at the load balancer level helps mitigate these issues.


If a webapp rollout lasts hours, you have a much bigger problem than skew which needs to be addressed urgently.


For most large scale apps (web or native) rollouts take multiple hours or even days. Ramps are slow to avoid widespread incidents and allow canary analysis to detect issues.


If you are at that scale then surely you put up some load balancers which can look at the client request (eg a request header `Accept-Version: abc123` or whatever) and route it to the correct backend server that can handle the request.

If you're not at that scale ie if your app deploys in a few seconds then just forcing a reload seems like a perfectly feasible strategy.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: