I am developing a platform where the users can upload videos, ask for videos and download the videos uploaded by other users.
I have developed the platform using Java Spring Boot, Angular and MongoDB and everything works on my localhost perfectly.
However, I don't know which kind of server I should rent because I don't know how many users will use my platform, how many simultaneous uploads/downloads I will have, etc.
The platform is for academic people (professors, students, etc.).
I have the following options in mind:
Virtual server, Linux V10
8 GB RAM
300 GB SSD
4 CPU vCore
8 GB RAM garantiert
connection up to 100 MBit/s
Traffic Unlimited
Virtual server, Linux V30
16 GB RAM
500 GB SSD
6 CPU vCore
16 GB RAM garantiert
connection up to 500 MBit/s
Traffic Unlimited
Is one of these options enough for the beginning in my case? How can I make an estimation?
If I rent a traditional virtual server and 5000 people want to upload videos simultaneously, what happens? How does it affect the loading speed of the website? Does it slow down everything?
Is the number of viewers also a bottleneck or just the number of simultaneous upload/download of files would be the bottleneck? For how many viewers/simultaneous uploads and downloads is it okay to have a traditional virtual server?
It would be good if anyone could give me a hint how I can make an estimation. I have totally no idea how I should go on.