Infrastructure guidance for video sharing app.
I am building an iOS app (and soon on Android and Web) that allows users to watch and share videos - it's different to YouTube in ways not relevant to my question.
It's my first time building a product of my own that will (hopefully) scale - and I don't want to make mistakes in the start with regards to the infrastructure around it.
Here's what I have in mind already - would love it if you guys could critique/make suggestions to it:
- Dedicated server, 6C, 32GB RAM
This is where we will be hosting the PHP code and the MySQL Database
- Dedicated server, 8C, 32GB RAM
This is where videos that are over 480p would be uploaded to to be transcoded to 480p before being sent to S3
Used for storage of all videos
CDN for delivery of video
Here is the flow of a video that's uploaded by a user on the app:
User > Transcoding Server > S3 > Cloudfront > Mobile App
in the case the video is lower than 480p it would go straight to S3.
What do you guys think? Any way I can optimise this further?