I'm building a website that needs to serve about 300-500 GB of static data from the get-go, with about 5-10 GB added every month. The files are mostly photos.
All of my potential users will be located in Canada, with about 95% of them in a single city (Toronto).
I have many options, but I don't know which is best for my situation.
First of all, I don't think I need to use CDN since the majority of my users will be based in Toronto. I just need to find a database provider based in/near Toronto.
I want to host my website on a VPS in the beginning, since it's easy to set up and should have no problems accommodating my initial users.
The problem is where I should host the 500 GB of static files. Should I host them alongside my website on the VPS? Or should I host them on a cloud platform like BackBlaze B2 or Amazon S3? HDD is sufficient for my static files, although I would like to host website itself on a SSD.
I estimate that each user will be served about 10 MB of data per visit. Assuming I get about 5000 visitors a day, I should be able to serve 50GB of data daily with no visible decrease in performance. The user will spend most of his time on a map (I'm using Google Maps JavaScript API), so it will be highly dynamic with continuous ajax calls.
I'm not too worried about getting perfect availability in the beginning, as long as the site is up most of the time.