I really like the deployment model of having a load balancer with two (or more) application servers behind it. The reasons I like it are:
SSL termination on the load balancer
Ability to update / restart one server at a time without affecting the user experience (in a stateless world), assuming the remaining server(s) have enough spare capacity.
Some degree of high availability
However, this seems to get more complex when entering the websocket world, with its more persistent connections/state. This article ("The unsolved load balancing problem of websockets") makes it sound a bit like territory that is not all that well charted. At the same time, it sounds if one followed the practice of only restarting one server at a time, it would work out ok?
Any thoughts how unsolved / tricky this really is?