Great deep dive. I recently migrated a legacy app from a CLB to an NLB for its TCP-preserving features, and the performance gain for our WebSocket connections was exactly as you described—night and day. Your breakdown of the "amateur hour" single-server trap is spot on.