Quote:
Originally Posted by Bowser Koopa
Store all your videos on Amazon S3 in a bucket. Then use Amazon CloudFront for CDN of those S3 videos.
For the application server itself, split that up into a few small servers, DB server, Cache server, and application server... If you need load balancing then get a load balancing server, and scale up as many application servers as needed to spread the load from the load balancing server.
You can probably hit about 3 application servers comfortably before you need to then start scaling your DB server into a master / slave setup.
By the time any of that is needed, you should be handling a fuck bucket of traffic. 
|
Well this is quite cost ineffective for a start, 3 servers, amazon storage for the videos and CDN on top of that... also slight problem with this setup is - three servers one for application, one for cache and one for db, if the db or application servers go down there goes your entire site, your videos will be fine and streaming just users won't be able to reach them...I mean you go to all this trouble to make a complicated setup and is not even fool proof; this will be way better if you have 4-5 servers with one balancing server two application servers and one or two db server (where one of the application servers can also double as backup db sever if you have just one db server), 1-2 more servers but at least one server won't bring the whole thing down (like christmas lights one goes and all the rest on the chain stop too)
My point however is that for start he can just have three servers, one good powerful server for application and db, and two streaming servers, no separate video storage and cdn on top of that. By the time this setup can not handle the load he should be making enough revenue from the traffic to expand and trow more servers into the mix.
Obviously this will also be better with two main servers and two streaming servers with a simple dns load balancing and db sync instead of replication, so that if one of the main servers is down the other can take over and still gives you just 4 servers to start with nothing on top of that
Having the streaming servers replicated is also good for backups having standard scheduled backups on those servers is not very good and effective; making scheduled backups of like 1tb of videos... better have if replicated to at least one more server as a backup and since it's there use it as streaming server too.
You can also just start with one server and grow from there, but having three to start with will give you a piece of mind when it comes to backups and bandwidth.