stream the screen of user to a remote server
number of simultaneous users would be around 200 per session.
That's a hefty workload. You can reduce it by lowering either the resolution or the framerate. Given that it is of screen (computer desktop) then you're probably more interested in resolution, eg so that text is readable. You didn't say anything about audio and so, if just imagery is ok and it can be regular screen captures rather than smooth video, then I'd think about sending them as regular JPEG images.
I just tried here, and the full screen capture at q70 for my 1600x900 screen on a YouTube page with mixed video and text is 185 kB. If I scale it down to 1280x720 then it is 130 kB.
130 kB/frame x 8 bits/byte x 1 frame/second x 1.2 protocol overhead x 200 users = 228 Mbps line speed hitting the remote server. Hmm. 26 MB/second (94 GB/hour) to the hard disk is probably ok, but I'd be thinking about the senders doing a bit of pre-processing and only sending images full size once they've changed by more than a threshold amount, and say quarter-size otherwise. Or split the images into say 64 regions (1/8th x 1/8th) and only send the changed regions.
It is an interesting challenge. Is it for monitoring online examinations? How encompassing does the solution need to be? Does every pixel matter eg like it does with medical imagery?
Perhaps you can piggyback onto existing infrastructure eg YouTube's livestreaming + recording, but I don't know how popular that would make you there, or how much money they'd soon be asking for.