WebSockets Look Simple Until You Have to Run Them in Production

The API is simple. The hard part is operating thousands of long-lived connections.