Too Long; Didn't Read
Using WebSockets allows us to send data to UI whenever our tools are ready to respond. GraphQL subscriptions are the key part of our environment because it allows using the same schema/query based concept but with live WebSocket updates over multiple UI components. There are some downsides, specifically managing WebSocket connections could require a lot more resources than a standard request-response cycle. Each WebSocket connection on average takes about 4Kb memory, which is not a big deal, but if you calculate how many live connections and active website analysis we are doing, keeping live Web socket connections gets more and more expensive.